Доступ из командной строки к инструменту слияния VS 2012

Я исследую использование TFS 2012 в качестве поставщика управления исходным кодом для Matlab в Windows 7. Для этого требуется установить клиент VS 2012 shell / TFS и 64-разрядного поставщика MSSCCI, который можно бесплатно загрузить с сайта Microsoft. Я все это настроил, и все работает хорошо.

Однако существует проблема с различием и объединением файлов. Если я вижу отличия от VS 2012 Source Control Explorer, инструмент VS 2012 Diff работает правильно. Если я пытаюсь выполнить ту же операцию из Matlab (с помощью меню «Управление исходным кодом»), я получаю сообщение об ошибке «Не удается выполнить настроенный инструмент». То же самое происходит с кнопкой «объединить изменения в инструменте слияния» при разрешении конфликтов: в VS 2012 это работает, из Matlab - нет.

Похоже, это известная проблема, по крайней мере, с другими инструментами, пытающимися управлять TFS. Существует обходной путь, который заключается в настройке VS 2012 для использования внешней разностной утилиты. Я попробовал это, и это сработало. Кроме того, я обнаружил, что если вы сконфигурируете утилиту внешних различий как собственный «внутренний» инструмент сравнения VS 2012, то внутренний инструмент будет правильно вызываться из Matlab.

Команда diff:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

и обязательные аргументы:

 /Diff %1 %2 %6 %7

(т.е. оригинальный файл, измененный файл, метка исходного файла, метка модифицированного файла). На это есть документацияВот.

Инструмент слияния более проблематичен. Я не могу найти какую-либо конкретную документацию в командной строке. Самое близкое, что у меня есть,

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\vsDiffMerge.exe

Я уверен, что это правильно, но аргументы, которые я использую

%1 %2 %1 %2 %3 %4 /m

не совсем правы - метки файлов разные, а отображение различий отформатировано по-разному (от обычного встроенного инструмента). Я перепроектировал эту командную строку из некоторой документации, связанной с gitВот но я ничего не знаю о мерзавце и не говорю по-итальянски. Кто-нибудь может мне помочь найти правильные параметры командной строки для использования, пожалуйста?

РЕДАКТИРОВАТЬ ДОБАВИТЬ

Есть обсуждение MSDN, которое, кажется, связано с этой проблемойВот, Похоже, что это происходит с другими инструментами и не ограничивается Matlab: я пометил этот вопрос соответственно

РЕДАКТИРОВАТЬ ДОБАВИТЬ

Предпочтительная командная строка для функции Diff:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\vsDiffMerge.exe

и аргументы командной строки:

/t %1 %2 %6 %7

Эквивалент для функции слияния не работает: это внутренняя ошибка, и Microsoft признала это.

Ответы на вопрос(2)

Ваш ответ на вопрос