Использование семантического слияния в качестве инструмента сравнения в 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