Использование семантического слияния в качестве инструмента сравнения в Perforce

Я пытаюсь настроить SemanticMerge в качестве моего инструмента сравнения для C# в Perforce.

Я настроил перформанс с exe и аргументами -s=%1 -d=%2 -l=csharp

настройки инструмента сравнения

Но когда я пытаюсь изменить файл C#, я получаю сообщение об ошибке:

Не удалось найти файл c:\Program Files Perforce\%1

сообщение об ошибке

Выбранный файл находится не в этом месте (и его имя файла%1)...

Я не сомневаюсь, что я медлительный и пытаюсь сделать RTFM, но я также надеюсь, что кто-то здесь увидит, что мне не хватает

2 ответа

Решение

Пользователь в твиттере указал мне на PDF, который я не могу поверить, что раньше мне не удалось найти

http://www.semanticmerge.com/documents/SemanticMerge-Perforce.pdf

Короче говоря, необходимо создать командный файл для запуска внешних инструментов сравнения и слияния в Perforce.

Использование равных в аргументах -s=%1 -d=%2 будет препятствовать интерпретации %1 а также %2 как пути к файлам, следовательно, ваша странная ошибка. semanticmergetool также принимает аргументы с пробелом: -s "$LOCAL" -d "$REMOTE" и позиционные аргументы: "$LOCAL" "$REMOTE"так что вы можете установить, например:

Preferences > Diff > Default diff application: Other application
Location: .../semanticmerge/semanticmergetool.exe
Arguments: %1 %2

Установить semanticmerge как инструмент слияния, используйте Arguments: %1 %2 %b %r

Ссылка: https://users.semanticmerge.com/documentation/how-to-configure/semanticmerge-configuration-guide.shtml

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