通常,当我在更新我的工作副本时遇到SVN中的合并冲突时,TortoiseMerge中会突出显示冲突的行或块。然后,我可以选择使用"他们的"或者"我的"或者两者都以某种方式。无论如何,我可以直观地看到问题所在。
然而,定期情况并非如此。 TortoiseMerge只会将整个文件标记为冲突。从图标来看,它似乎告诉我"他们"删除了文件的全部内容并添加了新内容:
当我查看自从我的工作副本 1 以来发生的少数提交的各个差异时,只有几行已经改变。同样,我只在工作副本中更改了非常有限的行数。因此,似乎它不能是EOL problem(否则,至少有一个提交应该突出显示整个文件,不应该更改?)。
此外,它不是version incompatibility between 1.4 and 1.5;我似乎使用客户端版本1.9.6和服务器版本1.8.16。当然,我不知道这两个版本之间可能存在另一种不兼容性。
更新:此外,当我选择"使用此整个文件"在 mine 版本中然后保存结果,TortoiseMerge声称"文件是空的"并提出删除它。
TortoiseMerge试图用这个视图告诉我什么,以及如何在发生这种情况时方便地解决1000行或更多行的文件中的冲突?当我尝试使用工作副本中的版本时(为了清除其内容!),为什么它会声称该文件为空?
1 :事实上,在我目前面临的情况下,只有一次提交。它修改了第3行和第74行和第120行之间的一些行。同时,在我的工作副本中,我在第150行之后插入了新行。
答案 0 :(得分:1)
我希望编码和EOL存在问题。顺便说一句,在文件中添加svn:eol-style=native
属性是有意义的。
您还可以尝试在TortoiseMerge设置中启用忽略行结尾选项并查看结果。但是,我建议禁用此选项。