在TortoiseHg中使用Beyond Compare进行可视化差异比较

19

我试图在TortoiseHg中使用Beyond Compare进行可视化差异比较,例如在资源管理器中右键单击修改的文件,从TortoiseHg上下文菜单中选择Visual Diff ...

Beyond Compare打开了,但只显示“欢迎”屏幕,而不是我想要比较的文件。我漏了什么吗?

我已经按如下设置了mercurial.ini文件:

  [extensions]
  extdiff =

  [extdiff]
  cmd.bcomp = C:\Program Files (x86)\Beyond Compare 3\BCompare.exe
  opts.bcomp = /ro

  [tortoisehg]
  vdiff = bcomp

  [merge-tools]
  bcomp.executable = C:\Program Files (x86)\Beyond Compare 3\BComp
  bcomp.args = $local $other $base $output
  bcomp.priority = 1
  bcomp.premerge = True
  bcomp.gui = True

  [ui]
  merge = bcomp

它可以从命令行工作吗?在存储库中,使用hg bcomphg bcomp -r rev1 -r rev2 file。此外,BC3有两种版本:标准版(没有合并功能)和专业版(具有合并功能)。如果您正在使用标准版,请尝试删除[merge-tools]和[ui]部分。 - Niall C.
@nc97217 是的,它可以从命令行工作。而且我正在使用专业版。 - Geoff Appleford
2个回答

23

找到答案了。

TortoiseHg 全局设置中的 Visual Diff 工具 必须设置为 'beyondcompare3' 而不是 'bcomp'。

TortoiseHg 和 Beyond Compare


你知道3向合并工具是否也必须设置为BeyondCompare3吗? - jpbochi
顺便问一下,你是怎么发现的? - jpbochi
@jpbochi - 我已将三向合并设置为bcomp,看起来运行良好。我认为这只是试错,尽管我可能在某个地方读到了一些给我指针的东西。 - Geoff Appleford
有人知道如何设置才能使其与BC版本2兼容吗?“BeyondCompare2”不起作用。 - JohnFx
@JohnFx - 在 MergeTools.rc 文件中(请参见我的回答),还有一个用于Beyond Compare 2的部分。也许它能帮到你。 - Ilia Barahovsky

3
在我们的情况下,当我们将mercurial.ini添加到TortoiseHG时,出现了同样的问题。看起来默认配置来自TortoiseHG\hgrc.d文件夹。具体地,差异和合并工具的配置可以在MergeTools.rc中找到。
只是为了参考,这里是如何在mercurial.ini中手动配置Beyond Compare 3
[merge-tools]
bcomp.executable = C:\Program Files (x86)\Beyond Compare 3\BComp.exe
bcomp.priority = 1
bcomp.premerge = True
bcomp.gui = True

bcomp.args=$local $other $base /mergeoutput=$output /ro /lefttitle=parent1 /centertitle=base /righttitle=parent2 /outputtitle=merged /automerge /reviewconflicts /solo
bcomp.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
bcomp.diff3args=$parent1 $parent2 $child /lefttitle='$plabel1' /centertitle='$clabel' /righttitle='$plabel2' /solo /ro
bcomp.dirdiff=True

请注意,无需启用extdiff扩展。同时,需要重新启动TortoiseHG以应用此设置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接