带有Hg的tortoisemerge报告所有行都已更改

时间:2011-02-23 15:36:17

标签: mercurial merge tortoisemerge

我想与Mercurial一起使用TortoiseMerge来解决冲突,但是它会报告theirsmine中的每一行,就像它没有正确比较一样

这是我的mercurial.ini:

[ui]
merge = TortoiseMerge

[merge-tools]
TortoiseMerge.executable=C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
TortoiseMerge.args=/mine:$local /theirs:$other /base:$base -o /merged:$output

我正在使用Hg 1.7.5

发生了什么事?

更新:使用KDiff或BeyondCompare时,基数始终为空。

由于

1 个答案:

答案 0 :(得分:1)

您的设置显示正确。

这是在基本修订版中没有文件副本的症状,在这种情况下,Mercurial就像文件存在但是空的一样。

有几种方法可以搞清楚这里发生了什么。如果没有涉及副本或重命名,您应该能够简单地执行:

$ hg log -r "ancestor(p1(), p2())"

..确定合并的祖先,然后:

$ hg manifest -r <rev> | grep <your file>

..确定文件是否实际存在。

或者,您可以运行'hg merge --debug'或'hg update --debug'来查看它为合并选择的变更集和文件(包括重命名/复制详细信息)。

如果您发现Mercurial选择的共同祖先中存在 文件,那么您应该在以下位置报告错误(包括调试输出):

https://www.mercurial-scm.org/wiki/BugTracker