有没有办法将git或Mercurial diff输出传递给GUI Diff工具?

时间:2010-06-01 23:42:48

标签: git mercurial diff visual-diff

文本中的差异结果可能最初难以习惯。有没有办法将输出传递给视觉差异工具,例如

$ hg diff --visual code.rb

$ hg diff code.rb | sometool

以便可以直观地查看结果?

4 个答案:

答案 0 :(得分:6)

也许:

$ hg extdiff -p kdiff3 -o

请参阅:http://hgbook.red-bean.com/read/adding-functionality-with-extensions.html

答案 1 :(得分:6)

git有一个"difftool" subcommand,可用于调用外部差异查看器,例如kdiff3。

这与“外部差异驱动程序”是分开的,例如,如果您更喜欢上下文差异,则可以使用some people do

答案 2 :(得分:3)

在网上搜索有关hg vdiff的信息。我已经用过了,它运行正常。

答案 3 :(得分:1)

似乎以下内容可行:

你的〜/ .hgrc(UNIX / Mac)或c:\ users [你的用户名] \ mercurial.ini,添加

[extensions]
extdiff=

[extdiff]
cmd.vdiff = opendiff
cmd.kdiff = kdiff3

现在你可以做到

hg vdiff filename
hg kdiff filename

opendiff或kdiff3必须是您计算机上已安装的工具,或者您可以使用任何可视化差异工具。

实际上,您可以添加

cmd.echo = echo

并看到当你执行

时,echo会回显2个文件名
hg echo filename
hg echo -r -2 filename         <-- you will see different filenames if that revision exists