如何在合并时配置Mercurial以使用Kompare?

时间:2010-04-20 11:21:08

标签: mercurial merge diff

我尝试将merge=kompare添加到我的~/.hgrc,但是当我运行hg merge时,它会运行kompare,但是没有可见的UI。 Hg说merging path/to/first-file并且留在那里,没有动作。

3 个答案:

答案 0 :(得分:4)

之前发布的kompare.args可能无法正常工作。我很难使用Kompare进行合并,特别是3路合并(首选且安全)。 顺便说一下,我相信默认情况下会启用大多数其他选项,但您可以通过以下方式验证:hg showconfig merge-tools

你最好使用kdiff3。如果你在Ubuntu Intrepid上,kdiff3被错误地从repos中删除了 - 但你可以从源代码轻松编译。

答案 1 :(得分:1)

您还需要添加一个解释如何调用Kompare的部分。我不知道Kompare,所以我不知道命令行应该是什么样的(不保证kompare.args行),但它应该是这样的:

[merge-tools]
kompare.executable = C:\<path...>\kompare.exe
kompare.args = $base $local $other -o $output
kompare.priority = 1
kompare.gui = True
kompare.binary = True

如果未正确检测到合并,您可能需要添加

kompare.checkconflicts = True
kompare.checkchanged = True

答案 2 :(得分:0)

Kompare 不支持 3-way diff,因此它只能用于 Visual Diff 功能。这是使其工作的配置:

[merge-tools]
kompare.executable = kompare
kompare.diffargs = -c $parent $child
kompare.gui = True

注意 diffargs 字段而不是 args