合并和提交svn一直显示我没有更改的文件,但更改了mergeinfo

时间:2011-03-17 12:38:12

标签: svn merge

我正在做很多svn合并和提交。 总是发生在我身上的事情(在每次提交中)都有一组常量的文件,如a.java b.java foldera folderb等,以及svn提交对话框总是向我显示的更多文件我应该提交它们但是文件itselvs没有改变,它的显示改变是它们的合并信息,但实际上我不明白为什么它在提交对话框中向我显示它,因为无论有多少合并我正在做提交对话框总是显示这些文件到我,即使我在源分支我只改变一个文件,我提交我看到这组文件,如果我更改源分支中的另一个文件并合并到新分支然后再次提交我再次看到这组文件(如15个文件...) 无论如何我知道如何克服这个问题?

感谢

2 个答案:

答案 0 :(得分:4)

这通常是由svn:merge-info属性设置在分支上低于顶层的。如果有人在较低级别进行合并,则会发生这种情况。我尝试在分支级别进行所有合并,以确保合并时没有丢失的文件。

如果您知道没有遗漏更改,可以将这些svn:merge-info属性的值移动到分支的顶级,然后从较低级别删除该属性。

这将阻止svn:merge-info在查看存储库差异时出错。

答案 1 :(得分:2)

这通常是因为SVN管理合并的方式。它在文件中添加了一个属性,该属性表示文件合并的分支/修订。

因为根据我的经验(或缺乏),svn在跟踪合并方面不是很好,所以在合并时我会使用标记--ignore-ancestry。这通常会删除这些问题,并且不会更新mergeinfo属性。

在右边检查,还有很多与同一主题有关的其他问题。

如果您想尝试新的东西,请将您的存储库移至mercurial或git以避免所有合并废话:)。