【问题标题】:Is possible to change the default diff tool in Mercurial?是否可以更改 Mercurial 中的默认差异工具?
【发布时间】:2010-09-19 06:52:21
【问题描述】:

每次我执行hg diff file.ext 时,我最终都会使用控制台差异应用程序。我想使用 Kdiff3 或 WinMerge(我使用的是 Windows)。

有办法改变吗?我在 Mercurial 文档中找不到参考(我不是在谈论合并!)。

【问题讨论】:

    标签: configuration mercurial diff


    【解决方案1】:

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

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

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

    hg vdiff file.ext
    

    【讨论】:

    • 另外,您可以将选项传递给 difftool,例如。 [extdiff] opts.vdiff = 2> /dev/null
    • 这个答案(以及到目前为止的其他答案)使另一个差异工具可用,但不会更改“默认差异工具”。即,当您调用 hg diff 或更重要的是,当您使用 hg log -p 查看整个变更集集合时,它不会改变使用的工具。我很想找到一种方法来真正改变默认值? (例如,有时在审查分支时能够使用基于单词的差异。)
    【解决方案2】:

    有了这个配置

    [extdiff]
    cmd.kdiff3 =
    

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

    hg kdiff
    

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

    更多信息here

    【讨论】:

      【解决方案3】:

      几分钟前我刚刚遇到了这个问题;我刚刚安装它并将它的路径(默认在 c:\program files\kdiff3)添加到我的系统 PATH e.v.重新启动我的窗口以选择新路径,并且“hg kdiff3”刚刚工作。事实证明,以下内容位于我的基本“mercurial.ini”文件中,这允许 kdiff3 对系统上的所有 hg 存储库起作用。

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

      【讨论】:

        【解决方案4】:

        如果您正在寻找类似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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多