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 ответ
Решение
Вы упускаете некоторые важные моменты
- Вы должны избегать использования CompareIt! как инструмент слияния (он все еще не поддерживает трехстороннее слияние):
CmpIt.args
БОЛЬШОЙ НЕТ-НЕТ пока - Вы должны перечитать
hgrc.d\MergeTools.rc
(любой части инструмента слияния) для параметров, используемых в.diffargs, проанализированных TortoiseHG / Mercurial:$local
+$base
переменные для слияния, а не для различий - Вы должны перечитать CompareIt! параметры командной строки: они не упоминают
-m
совсем
Из моего POV, используя параметры bcompare.diffargs для быстрого запуска и CompareIT! Помощь для "перевода", это будет достаточно хорошая первая итерация (не проверено!!!)
CmpIt.args= -m $local $base $other
CmpIt.diffargs= $parent /=$plabel1 $child /=$clabel