Я пытаюсь настроить vsDiffMerge (из Visual Studio Professional 2017) как внешний инструмент merge/diff для SourceTree. Однако, когда я пытаюсь разрешить конфликты merge с помощью внешнего инструмента, ничего не происходит. Я знаю, что раньше он работал, но недавно мне пришлось переустановить Sourcetree, и теперь я не могу заставить его работать.
Следуя инструкциям вЭта статья, я перешел в Инструменты > Параметры > Различия. Я установил следующее:
- Инструмент внешнего сравнения и инструмент слияния
Custom
- Команды Diff и Merge обе команды
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe"
- Аргументы команды Diff для
"$LOCAL" "$REMOTE" "Source" "Target" //t
- Объединить аргументы команды в
"$LOCAL" "$REMOTE" "$BASE" "$MERGED" //m
При слиянии я нажимаю правой кнопкой мыши на файле с конфликтом слияния и выбираю Разрешить конфликты > Запустить внешний инструмент слияния. Я вижу сообщение "Visual Merge In Progress" на короткое время и вижу в SourceTree, что временные файлы (те, что с суффиксами _BACKUP, _BASE и _LOCAL) создаются, но вскоре сообщение исчезает, и временные файлы исчезают, а инструмент слияния так и не открывается, оставляя конфликт неразрешенным. То же самое происходит независимо от того, открыта ли у меня Visual Studio или нет.
Я также попробовал поменять местами $REMOTE и $LOCALэтот ответ, но с теми же результатами.
Что-то не так с настройками? Что-то еще мне следует проверить или попробовать?
решение1
Я также попробовал этот способ на новой установке, но он не работает...
Однако вы можете сделать Visual Studio внешним инструментом слияния в настройках git в Visual Studio: