有没有办法将git或Mercurial diff输出传递给GUI Diff工具?
问题描述:
文本中的差异结果起初可能很难习惯。有没有一种方法,以管道将输出到一个可视化差异工具,比如像有没有办法将git或Mercurial diff输出传递给GUI Diff工具?
$ hg diff --visual code.rb
或
$ hg diff code.rb | sometool
,这样的结果可以直观地看到?
答
git有"difftool" subcommand可用于调用外部差异查看器,例如, kdiff3。
这与“外部差异驱动程序”是分开的,例如,如果您更喜欢上下文差异,则可以使用some people do。
答
可能:
$ hg extdiff -p kdiff3 -o
参见:http://hgbook.red-bean.com/read/adding-functionality-with-extensions.html
答
在网上搜索信息上hg vdiff
。我用它,它工作正常。
+0
这个工作对我来说也是如此。谢谢。 – 2010-06-02 22:44:02
答
好像下面的工作:
在你的〜/ .hgrc(UNIX/Mac上)或C:\用户[用户名] \ mercurial.ini,加
[extensions]
extdiff=
[extdiff]
cmd.vdiff = opendiff
cmd.kdiff = kdiff3
现在你可以做
hg vdiff filename
hg kdiff filename
的了opendiff或kdiff3必须的工具已经安装在你的机器上,或者您可以使用您有任何可视化差异工具。
其实,你可以添加
cmd.echo = echo
,并看到回声会回响2名出来,当你做一个
hg echo filename
hg echo -r -2 filename <-- you will see different filenames if that revision exists
我唯一的抱怨'git difftool'是它为diff中的每个文件打开一个单独的窗口。当有大量文件发生变化时,这很麻烦。我写了一个脚本来允许来自git的目录差异来解决这个问题。它被称为'git diffall',可以在http://github.com/thenigan/git-diffall找到。 – 2010-06-02 16:02:39