所以我的项目有一个主干,我们对其进行所有开发更改。我们还有一个分支,其参数略有修改,以适应其他部门。我们分批工作,一旦完成对主干的一组更改,切换到分支并合并所有适当的修订。这已经持续了一段时间,但我注意到了一些奇怪的行为。如果我打开修订图并比较两个主要版本(主干和分支,我也可以通过repo浏览器执行此操作),它会显示两者之间不同的所有文件的列表。问题是当我双击某些文件时,文件中实际上没有文本差异。不应该有任何差异,但它不应该标记为不同于正确吗?这使得审核两个分支并跟踪差异变得更加困难,因为许多文件出现在“已更改的文件”对话框中。
我注意到的一些事情:
修订号不同 两个文件之间(如预期的那样)
我尝试在a。中重现这个问题 通过合并测试存储库然后 比较分支,但它 工作得很好(没有差异)
任何帮助都将不胜感激。
答案 0 :(得分:2)
常见的罪魁祸首是行结尾。你的一些开发机器是windows还是其他基于nix的?如果不考虑或翻译不同的行结尾,将导致文件不完全匹配。
答案 1 :(得分:2)
我认为你实际上得到了过去修改过的所有文件,所以即使内容相同,它们仍然会显示为已更改,因为svn只是查看历史记录中哪些文件触及并从那里开始工作。您可以尝试合并忽略祖先(在乌龟的某个地方有一个选项)并查看文件是否也显示在那里,而不是它们不应该。
答案 2 :(得分:0)
嗯,我建议尝试使用其他一些合并软件。例如,不确定Tortoise SVNCompare是否像WinMerge那样突出显示空白变化。
答案 3 :(得分:0)
我尝试了两种不同的差异/合并软件(winmerge和diffmerge),文件完全相同。我刚刚注意到,如果我打开repo浏览器,标记主干进行比较,然后将其与分支进行比较,它就可以正常工作。 仅显示实际不同的文件。但是,当我通过修订图启动它时,它给了我同样的问题。结果对话框完全相同,只是一个具有大量不同文件的列表。这可能是svn / tortoisesvn的错误还是我错过了其他的东西?
答案 4 :(得分:0)
检查两个没有明显差异的文件的确切文件大小。还要检查修改日期。
答案 5 :(得分:0)