vsDiffMerge не работает как инструмент внешнего слияния Sourcetree

Я пытаюсь настроить vsDiffMerge (из Visual Studio Professional 2017) в качестве внешнего инструмента слияния/различения для SourceTree. Однако, когда я пытаюсь разрешить конфликты слияния с помощью внешнего инструмента, ничего не происходит. Я знаю, что у меня это работало раньше, но недавно мне пришлось переустановить Sourcetree, и теперь я не могу заставить его работать.

Следуя инструкциям в этой статьи, я пошел в Инструменты> Параметры> Diff. Я установил следующее:

  • Внешний инструмент Diff и инструмент слияния в Custom
  • Diff Command и Merge Command обе в "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

При слиянии я щелкаю правой кнопкой мыши файл с конфликтом слияния и выбираю «Разрешить конфликты» > «Запустить средство внешнего слияния». Я кратко вижу сообщение «Визуальное слияние в процессе» и вижу в SourceTree, что временные файлы (с суффиксами _BACKUP, _BASE и _LOCAL) создаются, но вскоре после этого сообщение исчезает, а временные файлы исчезают без слияния инструмент всегда открывается, оставляя конфликт неразрешенным. То же самое происходит независимо от того, открыта ли у меня Visual Studio или нет.

Я также попытался поменять порядок $REMOTE и $LOCAL на этот ответ, но с теми же результатами.

Что-то не так с тем, как я его настроил? Есть ли что-нибудь еще, что я должен проверить или попробовать?


person inejwstine    schedule 06.12.2019    source источник
comment
Кроме того, я думаю, что это подходящее место для этого вопроса, поскольку этот инструмент используется в основном для программирования, и я видел подобные вопросы на SO. Однако, если SU или какой-либо другой сайт будет лучшим местом для этого вопроса, дайте мне знать.   -  person inejwstine    schedule 06.12.2019


Ответы (1)


Я так и не узнал, почему он не работает для VS 2017, но недавно я обновился до VS 2019 и обновил путь к недавно установленной версии vsDiffMerge.exe, и после этого он снова работает. Поэтому, если кто-то еще столкнется с этой проблемой, попробуйте обновить Visual Studio.

person inejwstine    schedule 25.02.2020