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

Я пытаюсь настроить инструмент сравнения в 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

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

1 ответ

Решение

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

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

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

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

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

Другие вопросы по тегам