我试图配置超越以设置一些工作流。

目前,我可以这样做:

  • 启动hg bcomparehg bcompare --rev <something>
  • 对右侧
  • 上的文件进行一些更改
  • 保存并比较
  • 超越不可比拟
  • 刷新我的编辑器/ IDE
  • 在编辑器/ IDE中进行更改
  • 重新启动,超越比较

  • 我想做的是这样的:
  • 启动hg bcomparehg bcompare --rev <something>
  • 对右侧
  • 上的文件进行一些更改
  • 保存并比较
  • 刷新我的编辑器/ IDE
  • 在编辑器/ IDE中进行更改
  • 刷新后无法比较

  • 暂时而言,此工作流程无法正常工作,但我似乎无法弄清楚是无法比拟的还是无聊的事情正在使事情变得混乱。我可以看到在比对中右侧窗格中的文件位于此目录/tmp/extdiff.MIGT6x/dir中。

    该目录从哪里来?有没有一种方法可以让我在各个版本之间进行全面比较(我知道这样做会比较慢)?

    或者,有没有一种方法可以使我超出保存范围,将文件写入到实际位置,并且可以得到超出比较范围的刷新以正常工作?

    我按照Beyond Compare site所述设置了超越比较:
    [extensions]
    hgext.extdiff =
    
    [extdiff]
    cmd.bcompare =
    
    [merge-tools]
    bcomp.executable = /usr/bin/bcompare
    bcomp.args = $local $other $base $output
    bcomp.priority = 1
    bcomp.premerge = True
    bcomp.gui = True
    

    最佳答案

    “extdiff”扩展名(这是我希望用来显示bcompare更改的扩展名),使用“hg status”检查2个修订版之间(或当前工作目录和修订版之间)的文件不同)。

    然后,它将所有与两个临时目录不同的文件复制并调用bcompare(或任何其他difftool)以比较这两个目录。

    这种方法的好处:

  • 只需要比较少量文件(因此difftool本身不需要遍历所有文件)
  • 不需要每个difftool都添加对Mercurial的支持,这些工具只需要支持diffing 2个目录

  • 当然,缺点是在difftool中进行编辑不会在您的存储库中显示任何效果。
    换句话说:不可能以您想要的方式执行此操作。

    07-24 12:39