代码之家  ›  专栏  ›  技术社区  ›  Casebash

如何使diffmerge与Mercurial进行三方合并?

  •  5
  • Casebash  · 技术社区  · 15 年前

    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 
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   Geoffrey Zheng    15 年前

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

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


    用你的 hgrc先生 现在清楚了。你的命令 hg diffmerge -r 32 -r 30 myfile 不是merge命令,而是要求hg使用diffmerge作为外部diff工具(在中指定) [extdiff] 节)进行比较 myfile 在版本32和30之间。没有第三个版本。

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

    推荐文章