2

如何在版本控制下跟踪和管理软件模块的依赖关系?

我正在构建几个网站,每个网站都使用特定的 Apache 配置、特定的 Django 代码、共享的 Python 库和一些共享的 Javascript。对于每个站点,这些部分是相互依赖的——如果服务器代码发生变化,Javascript 可能会随之变化,反之亦然。

我可以将整个事情放在一个项目下,但这似乎很笨拙。但是如果我将它们放在单独的项目下,那么我必须按版本跟踪元素的依赖关系。“DjangoStuff v.14 适用于 JavascriptStuff v.20,但不适用于 v.21。JavaScriptStuff v.21 适用于 DjangoStuff v.15。”

这里最好的方法是什么?我正在使用颠覆。(我听说它不再酷了,但它满足了我的需求,我现在更愿意坚持下去。)

4

2 回答 2

4

在 Subversion 中使用Externals,您可以让您的主项目引用所有依赖项项目。默认情况下,Subversion 中的外部引用引用当前版本,但您可以添加引用另一个存储库的特定-r版本的外部引用(使用该页面上“工具包”示例中的表示法)。

于 2009-11-25T19:23:46.193 回答
1

svn:externals是您在目录上设置的属性,用于告诉 Subversion 在检出该目录时提取其他材料。您可以指定:

  • 相同或不同的存储库
  • 要引入的特定修订
  • Subversion 抓取材料后在哪里放置材料
于 2009-11-25T19:42:52.580 回答