46

我有一个 SVN 存储库,其中有主干和一个分支。

我打算定期将主干合并到分支中,但是,当我这样做时,除了实际文件内容更改外,我还看到许多属性状态更改。

在进一步调查中,属性更改是 mergeinfo 属性。我没想到会这样,因为我们总是从最高根级别分支和合并。

在合并主干之前,我使用了该svn propdel命令并从分支 WC 中删除了所有 mergeinfo 属性(然后恢复了根上的更改),问题就消失了。

所以问题是,我的分支是如何在子目录级别获得所有这些mergeinfo 更改的?

4

2 回答 2

30

Subversion 1.5.x 添加了很多 svn:mergeinfo 属性,甚至在您认为与合并无关的文件/文件夹上。但是 Subversion 仍然使用这些来减少后续合并的合并时间。

如果您不喜欢这些,您可以安全地从所有不属于合并的文件/文件夹中删除那些修改/添加的 svn:mergeinfo 属性(将其保留在工作副本根目录和从合并)。

如果在 1.6 版本中一切都按计划进行,Subversion 1.6 将大大减少这些 svn:mergeinfo 属性。

于 2008-12-25T08:00:21.877 回答
6

Subversion 1.5.5 中至少修复了这个错误的一部分。从1.5.5 更改文件

不要为 wc-wc 移动或副本创建合并信息 (r34184, -585)

也就是说,在 1.5 之前的 SVN 中有一个错误,它会创建它不使用并且是多余的 mergeinfo 条目。

于 2010-01-08T09:47:22.440 回答