我怎样才能在SVN中分支并让它分支我的svn:external文件夹呢?

时间:2008-10-29 00:10:44

标签: svn tortoisesvn branch

我在Windows中使用tovise svn。

如何在SVN中分支并让它分支我的svn:external文件夹?

4 个答案:

答案 0 :(得分:23)

您应该使用svn:externals作为来自不同存储库的外部引用。所以svn:externals应该引用组件,模块,第三方工具等。

您应使用svn:externals来模拟“符号链接” - 使用外部指向同一存储库的行为。 您可以通过修改构建结构或使用checkout-scripts和稀疏结帐功能来解决此类问题。

svn:外部有很多问题,大多数都难以看到,跟踪和修复: see an example here

  • 提交不能跨越外部(没有原子提交)
  • 分支机构不会分支他们的外部(正如你所指出的)
  • 标签不会“冻结”其外部因素,因此后期构建可能会导致不同/破坏的构建
  • 合并和重新整合合并将不适用于外部

如果使用外部指向其他存储库,则大多数情况下您都不会遇到这些问题。

答案 1 :(得分:11)

您必须在外部存储库中手动创建分支,然后将svn:external属性更改为指向正确的分支。

答案 2 :(得分:3)

在Subversion中创建分支时,您只需创建一个分支的主干,分支或标记的廉价副本。在您开始修改新分支的属性或文件之前,此廉价副本将包含与您分支的主干,分支或标记相同的所有文件和属性。

但是,您可以修改其中一个“提交”挂钩,以便在提交分支后自动修改设置。 http://svnbook.red-bean.com/en/1.1/ch05s02.html

否则,如果您希望在分支上修改外部,则需要手动修改。

答案 3 :(得分:2)

现在有相对的外部。虽然你应该知道:) 我正在使用它们 - 在解决我遇到的一些麻烦的中间,但我正在进步。 我刚刚在其中创建相对外部之后标记了一个项目。 现在它很奇怪 - 当我查看分支时,它通知我外部是修订版“主干的最高版本”,但外部本身是原始的 - 这是我想要的:)。