Настройка слияния текста с SemanticMerge для использования P4Merge в Mercurial
Я следовал инструкциям на http://www.semanticmerge.com/sm-guides/main.shtml, но они настроены для kdiff3, и я хотел бы использовать p4merge для моего текстового слияния. Мой текущий mercurial.ini выглядит так:
[merge-tools]
semantic.executable = C:\Users\JP\AppData\Local\PlasticSCM4\semanticmerge\semanticmergetool.exe
semantic.premerge=False
semantic.binary=False
semantic.args=-b=$base -s=$local -d=$other -r=$output -l=csharp -edt="p4merge.exe ""#sourcefile"" ""#destinationfile""" -emt="p4merge.exe -le 'win' -dl ""#basefile"" ""#sourcefile"" ""#destinationfile"" ""#output"""
semantic.gui=True
semantic.checkconflicts=True
С моей текущей конфигурацией, когда есть конфликт в файле, который заканчивается на.cs, SemanticMerge работает как ожидалось, но когда я использую команду слияния в SemanticMerge для запуска текстового слияния, я получаю предупреждение об ошибке, заявляющее:
Error starting P4Merge
Errors: 'c:\directory\1d37-some-guid.tmp' is (or points to) an invalid file.
Есть ли в несовместимости или мой выше раздел "semantic.args" настроен неправильно?
ОБНОВЛЕНИЕ Я получаю ошибку, когда я нажимаю кнопку слияния на конкретное изменение. Смотрите скриншот ниже. Ответ правильный, хотя в том, что я должен просто запустить слияние текста с помощью кнопки "выполнить слияние текста".
1 ответ
Я только что протестировал интеграцию Semantic Merge-Mercurial (настройка p4merge в качестве внешнего инструмента слияния тестов).
Это мой mercurial.ini:
[merge-tools]
semantic.executable = C:/Users/carlos/AppData/Local/PlasticSCM4/semanticmerge/semanticmergetool.exe
semantic.premerge=False
semantic.binary=False
semantic.args=-b=$base -s=$local -d=$other -r=$output -l=csharp -edt="p4merge.exe ""#sourcefile"" ""#destinationfile""" -emt="p4merge.exe -le 'win' -dl ""#basefile"" ""#sourcefile"" ""#destinationfile"" ""#output"""
semantic.gui=True
Semantic. checkconflicts=True
Когда я выполняю слияние Hg, появляется инструмент семантического слияния, и если я выбираю "выполнить слияние текста", инструмент слияния текста работает нормально. Похоже, ваша проблема в установке инструмента P4Merge. Не могли бы вы попробовать запустить инструмент P4Merge вручную с помощью командной строки?