2014-02-07 47 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