Tortoise SVN将文件标记为分支之间的不同,但不存在差异

时间:2008-10-28 14:43:08

标签: svn merge tortoisesvn

所以我的项目有一个主干,我们对其进行所有开发更改。我们还有一个分支,其参数略有修改,以适应其他部门。我们分批工作,一旦完成对主干的一组更改,切换到分支并合并所有适当的修订。这已经持续了一段时间,但我注意到了一些奇怪的行为。如果我打开修订图并比较两个主要版本(主干和分支,我也可以通过repo浏览器执行此操作),它会显示两者之间不同的所有文件的列表。问题是当我双击某些文件时,文件中实际上没有文本差异。不应该有任何差异,但它不应该标记为不同于正确吗?这使得审核两个分支并跟踪差异变得更加困难,因为许多文件出现在“已更改的文件”对话框中。

我注意到的一些事情:

  • 修订号不同 两个文件之间(如预期的那样)

  • 我尝试在a。中重现这个问题 通过合并测试存储库然后 比较分支,但它 工作得很好(没有差异)

  • 我原本以为这可能有 与差异有关 在svn:mergeinfo属性之间但是 我不再那么肯定了。

任何帮助都将不胜感激。

6 个答案:

答案 0 :(得分:2)

常见的罪魁祸首是行结尾。你的一些开发机器是windows还是其他基于nix的?如果不考虑或翻译不同的行结尾,将导致文件不完全匹配。

答案 1 :(得分:2)

我认为你实际上得到了过去修改过的所有文件,所以即使内容相同,它们仍然会显示为已更改,因为svn只是查看历史记录中哪些文件触及并从那里开始工作。您可以尝试合并忽略祖先(在乌龟的某个地方有一个选项)并查看文件是否也显示在那里,而不是它们不应该。

答案 2 :(得分:0)

嗯,我建议尝试使用其他一些合并软件。例如,不确定Tortoise SVNCompare是否像WinMerge那样突出显示空白变化。

答案 3 :(得分:0)

我尝试了两种不同的差异/合并软件(winmerge和diffmerge),文件完全相同。我刚刚注意到,如果我打开repo浏览器,标记主干进行比较,然后将其与分支进行比较,它就可以正常工作。 显示实际不同的文件。但是,当我通过修订图启动它时,它给了我同样的问题。结果对话框完全相同,只是一个具有大量不同文件的列表。这可能是svn / tortoisesvn的错误还是我错过了其他的东西?

答案 4 :(得分:0)

检查两个没有明显差异的文件的确切文件大小。还要检查修改日期。

答案 5 :(得分:0)