0

我们知道,svn:mergeinfo如果在文件夹级别执行合并,TortoiseSVN 会创建一个文件夹属性。这可能是顶级文件夹(例如trunk)或某个子文件夹。我一直认为在子文件夹级别合并是可以的,因为svn:mergeinfo在顶级文件夹级别合并时会使用子文件夹上的。我认为过去它通常也对我有用,直到今天我看到一个我无法解释的案例。

我看到了从分支主干的子文件夹级别的合并,并且我可以在该修订版中看到主干svn:mergeinfo上该子文件夹的属性。

但是,如果我尝试在顶级文件夹级别再次从分支合并到主干,则分支处的合并修订不会灰显。如果我尝试合并,它只会合并顶部文件夹中的属性,而无需进行任何代码更改。如果我尝试从该子文件夹合并一个文件夹,则该合并的修订版也不会灰显。

我无法解释我在这里看到了什么。任何人都可以对此有所了解吗?我正在使用最新的 TortoiseSVN 1.8.1。过去我使用的是 TortoiseSVN 1.7 及以下版本。最新版本的 TortoiseSVN 是否故意改变了这种行为,或者我在这里遗漏了什么?

4

1 回答 1

2
  1. 不要使用你不完全理解的技巧
  2. 不要在不需要的时候使用技巧(在极少数情况下,子树合并是必须的,仅在某些特殊情况下
  3. 从SVN Book 中阅读相关部分(“Subtree Merges 和 Subtree Mergeinfo”主题)轻轻,缓慢,不急不躁

现在,关于您的问题的注意事项:

  • 当您在子树中合并某些修订时,in 对父级没有任何意义 - 因为对于任何级别的父级,这些修订都不会合并(即使它们在子树之外没有任何对象)
  • 子树的合并信息仅用于避免此子树中的重复合并(不在上面或下面),当相同的修订稍后合并到某个父级时(并移动到父级的合并根,当此类合并与相交修订时(在子树中)和父合并)完成)
于 2013-08-22T07:44:51.887 回答