Configuration 可以在Mercurial中更改默认的diff工具吗?
每次执行Configuration 可以在Mercurial中更改默认的diff工具吗?,configuration,mercurial,diff,Configuration,Mercurial,Diff,每次执行hg diff file.ext时,我都会使用控制台diff应用程序。我想使用Kdiff3或WinMerge(我使用的是Windows) 有没有办法改变这种状况?我在Mercurial文档中找不到引用(我不是说合并!) 我使用Mercurial内置扩展解决了这个问题。。。我只需将以下行添加到Mercurial.ini(在Mercurial文件夹中): 当我想使用kdiff3而不是diff时,我只需要使用: hg vdiff file.ext 使用此配置 [extdiff] cmd.kd
hg diff file.ext
时,我都会使用控制台diff应用程序。我想使用Kdiff3或WinMerge(我使用的是Windows)
有没有办法改变这种状况?我在Mercurial文档中找不到引用(我不是说合并!) 我使用Mercurial内置扩展解决了这个问题。。。我只需将以下行添加到Mercurial.ini(在Mercurial文件夹中): 当我想使用kdiff3而不是diff时,我只需要使用:
hg vdiff file.ext
使用此配置
[extdiff]
cmd.kdiff3 =
我使用此命令查看差异:
hg kdiff
这将显示一个目录树,其中包含所有已更改的文件。单击一个文件以仅查看该文件的差异。您可以向命令中添加文件参数,以便只查看一个文件
更多信息。我几分钟前刚刚遇到这个问题;我刚刚安装了它,并将其路径(默认为c:\program files\kdiff3)添加到我的系统路径e.v。重新启动我的窗口以选择新路径,“hg kdiff3”刚刚工作。正如我的基本“mercurial.ini”文件所示,这允许kdiff3为系统上的所有hg repo工作
[extensions]
hgext.extdiff =
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
如果您正在寻找类似于
git difftool
,您不需要键入文件名并查看所有更改文件的差异,请将这些文件添加到~/.hgrc
,然后运行hg difftool
[extensions]
extdiff =
[extdiff]
cmd.vimdiff = vimdiff
[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done
或适用于windows:
[alias]
difftool = !FOR /f %F IN ('hg status -nmar') DO hg vimdiff %F
此外,您还可以将选项传递给diff工具,例如,
[extdiff]opts.vdiff=2>/dev/null
此答案(以及下面到目前为止的其他答案)使另一个diff工具可用,但不会更改“默认diff工具”。即。,当您调用hg diff
,或者更重要的是,当您使用hg log-p
查看整个变更集时,它不会更改所使用的工具。我很想找到一种方法来真正改变默认值?(例如,在查看分支时,有时能够使用基于单词的diff。)
[alias]
difftool = !FOR /f %F IN ('hg status -nmar') DO hg vimdiff %F