5

我目前正在使用 commmand hg diffmerge -r 32 -r 30 myfile,但这仅显示两个窗口,而不是三个。我怎样才能让它进行三向合并?

.hgrc

[ui]
merge=diffmerge

[extensions]
collapse=~/.hgext/collapse.py
hgext.purge=
hgext.extdiff=
hgext.graphlog=

[extdiff]
cmd.diffmerge=/usr/bin/diffmerge

[merge-tools]
diffmerge.executable=/usr/bin/diffmerge
diffmerge.args= --result=$output -t1="Local Version" -t2=$output -t3="Other Version" --caption=$output $local $base $other
diffmerge.binary=False
diffmerge.symlinks=False
diffmerge.gui=True
diffmerge.premerge=True 
4

1 回答 1

3

我想你的意思是你使用 SourceGear DiffMerge 作为外部合并工具。你的是什么.hgrc?它是基于hg 网站的样本吗?

我的猜测是你diffmerge.args的有问题。您可以尝试使用这些参数手动运行 diffmerge 以确保其正常工作。


有了你.hgrc,现在很清楚了。您的命令hg diffmerge -r 32 -r 30 myfile不是合并命令,而是要求 hg 使用 diffmerge 作为外部差异工具(在[extdiff]部分中指定)来比较myfile版本 32 和 30。不涉及第 3 个版本。

对于合并,您运行hg merge [-r<the other head>],并且由于您.hgrc告诉 hg 使用 diffmerge 作为合并工具(在[ui]部分中指定),因此 hg 将使用 diffmerge 进行 3 路合并。我用相同的 hgrc 验证了它在我的 Windows 设置中工作。

于 2010-09-20T03:17:42.377 回答