是可以更改Mercurial的默认差异工具?

每次我做'hg diff file.ext'我最终使用控制台diff应用程序。 有没有办法改变这个? 我无法在Mercurial文档中find参考( 我不是在谈论合并! )。 我想使用Kdiff3或WinMerge(我正在使用Windows)。

我已经解决了这个使用Mercurial内置扩展…我只需要将以下行添加到Mercurial.ini(在Mercurial文件夹上):

[extensions] hgext.extdiff= [extdiff] cmd.vdiff = kdiff3 

当我想用kdiff3而不是diff时,我只需要使用:

 hg vdiff file.ext 

有了这个configuration

 [extdiff] cmd.kdiff3 = 

我使用这个命令来看差异:

 hg kdiff 

这显示了一个目录树,其中包含所有已更改的文件。 您单击一个文件来查看文件的差异。 您可能可以将一个文件参数添加到该命令只看到一个文件。

更多信息在这里 。

几分钟前我刚刚有这个问题; 我刚刚安装了它,并添加了它的path(默认是在c:\ program files \ kdiff3)到我的系统pathev重新启动我的窗口拿起新的path,“hg kdiff3”刚刚工作。 事实certificate,以下是在我的基础“mercurial.ini”文件,这使得kdiff3可以在系统上的所有hg仓库工作。

 [extensions] hgext.extdiff = [extdiff] cmd.kdiff3 = [merge-tools] kdiff3.args = $base $local $other -o $output 

如果你正在寻找像git difftool类的东西,你不需要input文件名并查看所有更改文件的diff,把它们添加到你的~/.hgrc ,然后运行hg difftool

 [extensions] extdiff = [extdiff] cmd.vimdiff = vimdiff [alias] difftool = !for file in $(hg status -n); do hg vimdiff $file; done