2014-02-07 72 views
0

我正在嘗試在TortoiseHg和Mercurial中配置一個diff工具。Mercurial&TortoiseHg - args錯誤配置diff工具?

這是我的配置已經完成:

[merge-tools] 
CmpIt.executable = E:\Program Files (x86)\Compare It!\wincmp3.exe 
CmpIt.priority = 1 
CmpIt.premerge = True 
CmpIt.gui = True 

CmpIt.args= -m $local $base $other 
CmpIt.diffargs= -m $local $base 
CmpIt.dirdiff= True 

但是當工具開始,它尋找「$本地」和「$基地」文件,而不是真正的文件名。

我在任務管理器發現,在命令行是歌廳的args來的名字,而不是它們的值:

E:\Program Files (x86)\Compare It!\wincmp3.exe -m $local $base 

我怎麼能強迫的args來值傳遞到命令行?

回答

1

你錯過一些重要的

  1. 你必須避免使用CompareIt!作爲合併工具(它仍然不支持3路合併):CmpIt.args現在是BIG NO-NO
  2. 您必須重新讀取hgrc.d\MergeTools.rc(任何合併工具部件的)參數,用於.diffargs通過TortoiseHG /水銀parred:$local + $base變數的合併,而不是差異
  3. 您已經重新讀CompareIt! command-line options:他們根本不會

從我的POV提-m,使用bcompare.diffargs選項作爲快速啓動和CompareIT!幫助 「翻譯」,這將相當不錯的第一次迭代(未測試!)

CmpIt.args= -m $local $base $other

CmpIt.diffargs= $parent /=$plabel1 $child /=$clabel

+0

EXITO!非常感謝,它的工作。 – avij67