如何解决SVN:外部问题

时间:2011-09-17 08:54:37

标签: svn branch

我正在为我的项目使用SVN。我有两个名为repo1和repo2的存储库。在每个存储库中,我在两个存储库中都创建了一个名为branch1的分支。对于名为module1的repo2的branch1中的一个模块,定义了一个svn:external,并将其设置为Repo1中branch1的module1。

但是现在我在repo1和repo2中创建了另一个名为branch2的分支,它是两个repos的branch1的副本。现在我在repo2的branch2中的module1仍指向repo1中branch1的module1。但它应该引用repo1中branch2的module1。

当我们进行SVN复制或svn分支时,有没有办法自动更改svn:externals?

3 个答案:

答案 0 :(得分:2)

我不认为这是可能的。我不认为svn有一种方法可以知道你是否希望svn externals引用branch2或branch1。

更新:此discussion看起来很有用。

答案 1 :(得分:0)

不,你需要的东西不可能由svn自动完成。创建分支会复制svn中的整个文件夹及其所有外部引用。

但您可以编写自己的脚本来创建分支并更新外部。

答案 2 :(得分:-1)

svn:externals上的权威资源显示了“相对”链接的一些可能性。但是它们都不能像那样跨越存储库边界。

这留下以下选项:

  • 将相关项目放入同一个存储库并放入相同的分支目录并使用相关的svn:external链接或
  • 使用和/或破解像svncopy这样的工具,其目的是处理svn:externals。此工具位于contrib/client-side/svncopy
  • 中的subversion源树中
  • 或者您可以将分支/标记放入构建系统。

这些选项都不是一个nobrainer。