Frage

I'm trying to configure a diff tool in TortoiseHg and Mercurial.

This is the configuratión I've done:

[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

But when the tool start, it's looking for "$local" and "$base" files instead real file names.

I found on Task Manager that the command line is geting the names of the args instead their values:

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

How can I force to pass the value of the args to the command line?

War es hilfreich?

Lösung

You miss some important points

  1. You must to avoid usage CompareIt! as merge-tool (it still doesn't support 3-way merge): CmpIt.args is BIG NO-NO for now
  2. You have to re-read hgrc.d\MergeTools.rc (of any merge-tool part) for parameters, used in .diffargs, parred by TortoiseHG/Mercurial: $local + $base are variables for merge, not for diff
  3. You have to re-read CompareIt! command-line options: they doesn't mention -m at all

From my POV, using bcompare.diffargs options as quick-start and CompareIT! Help for "translation", this will reasonably good first iteration (not tested!!!)

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

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top