22

我在 Windows 中使用乌龟 svn。

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

4

4 回答 4

24

您应该使用来自不同存储库svn:externals外部引用。所以svn:externals应该指组件、模块、3rd 方工具等。

您不应该通过使用svn:externals外部指向同一个存储库来模拟“符号链接”行为。大多数情况下,您可以通过修改构建结构或使用签出脚本和稀疏签出功能来解决此类问题。

svn:externals 有很多问题,其中大部分都很难看到、跟踪和修复: 请参见此处的示例

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

如果您使用 externals 指向其他存储库,则大多数时候您不会遇到这些问题。

于 2008-10-29T20:49:52.873 回答
11

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

于 2008-10-29T00:28:04.167 回答
3

当你在 Subversion 中创建一个分支时,你只是创建了一个主干、分支或标签的廉价副本。这个便宜的副本将包含与您分支的主干、分支或标签相同的所有文件和属性,直到您开始修改新分支的属性或文件。

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

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

于 2008-10-29T00:20:21.750 回答
2

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

于 2011-11-29T08:39:55.373 回答