Mercurial и TortoiseHg — ошибка аргументов для настройки инструмента сравнения?

Я пытаюсь настроить инструмент сравнения в TortoiseHg и Mercurial.

Вот что я сделал:

[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

Но когда инструмент запускается, он ищет файлы "$local" и "$base", а не настоящие имена файлов.

Я обнаружил в диспетчере задач, что командная строка получает имена аргументов вместо их значений:

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

Как принудительно передать значение аргументов в командную строку?


person avij67    schedule 07.02.2014    source источник


Ответы (1)


Вы упускаете некоторые важные моменты

  1. Вы должны избегать использования CompareIt! как инструмент слияния (он по-прежнему не поддерживает 3-стороннее слияние): CmpIt.args на данный момент БОЛЬШОЕ НЕТ-НЕТ
  2. Вы должны перечитать hgrc.d\MergeTools.rc (любой части инструмента слияния) для параметров, используемых в .diffargs, обработанных TortoiseHG/Mercurial: $local + $base являются переменными для слияния, а не для сравнения
  3. Вы должны перечитать CompareIt! параметры командной строки: они вообще не упоминают -m

С моей точки зрения, используя опции bcompare.diffargs в качестве быстрого старта и CompareIT! Помогите с "переводом", это будет достаточно хорошая первая итерация (не проверено!!!)

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

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

person Lazy Badger    schedule 07.02.2014