Как использовать Visual Studio (vsdiffmerge) в качестве внешнего инструмента сравнения в SourceTree for Mercurial?

Я использую Mercurial для управления исходным кодом и SourceTree для управления им. Я хочу использовать Visual Studio, встроенный в инструмент diff и merge (vsdiffmerge) для сравнения файлов, однако это не работает.

В настоящее время я использую следующее:

Команды Diff:

\ "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vsdiffmerge.exe \"

Diff Аргументы:

\ "$ LOCAL \" \ "$ REMOTE \" //t

Объединить команды:

\ "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vsdiffmerge.exe \"

Объединить аргументы:

\ "$ REMOTE \" \ "$ LOCAL \" \ "$ BASE \" \ "$ MERGED \" //m

введите описание изображения здесь

Инструмент diff для Visual Studio не запускается. Не могли бы вы взглянуть?

Спасибо, Sombir

Ответ 1

  • У вас много бесполезных (по крайней мере) черных пятен в командах и аргументах
  • Прочитайте страницу Настройка DiffMerge, вторую главу и исправьте собственные ошибки.

Ответ 2

Для Visual Studio 2015

Поместите эту строку в поле Diff Command:

C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/vsDiffMerge.exe

И это в поле Аргументы:

$REMOTE $LOCAL $BASE $MERGED //m

Ответ 3

С Visual Studio 2015 Update 1 и SourceTree 1.7.0.32509 это только настройка, которая работает для меня:

C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/vsDiffMerge.exe 
$REMOTE $LOCAL $BASE $MERGED //m

Ответ 4

Следуйте этому SO для получения дополнительной информации Какие аргументы командной строки для инструмента объединения по умолчанию для TFS для VS 2012?

Также эти указатели http://roadtoalm.com/2013/10/22/use-visual-studio-as-your-diff-and-merging-tool-for-local-files/

Правда, я тоже пытался настроить его, и мне не повезло. Я использую Beyond Compare. Если вы хотите, чтобы он работал, по крайней мере, оставайтесь в пределах выбора, который предлагает SourceTree в раскрывающемся списке внешних опций diff. Нет веских оснований использовать что-либо еще, что они не поддерживают.