【问题标题】:How do I make diffmerge do a three-way merge with Mercurial?如何使 diffmerge 与 Mercurial 进行三向合并?
【发布时间】:2010-09-20 02:55:51
【问题描述】:

我目前正在使用命令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 

【问题讨论】:

    标签: mercurial diffmerge


    【解决方案1】:

    我想您的意思是您使用 SourceGear DiffMerge 作为外部合并工具。你的.hgrc 是什么?是基于sample from hg website吗?

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


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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 2017-08-14
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      相关资源
      最近更新 更多