Acesso por linha de comando à ferramenta de mesclagem do VS 2012

Estou investigando usando o TFS 2012 como o provedor de controle de código-fonte para o Matlab, no Windows 7. Isso requer a instalação do cliente shell / TFS do VS 2012 e o provedor MSSCCI de 64 bits disponível como downloads gratuitos da Microsoft. Eu configurei tudo isso e funciona bem.

No entanto, há um problema com a diferenciação e a mesclagem de arquivos. Se eu ver as diferenças do VS 2012 Source Control Explorer, a ferramenta do VS 2012 Diff é executada corretamente. Se eu tentar a mesma operação a partir do Matlab (usando o menu Controle de origem), recebo um erro "Não é possível executar a ferramenta configurada". A mesma coisa acontece com o botão 'mesclar mudanças na ferramenta de mesclagem' ao resolver conflitos: no VS 2012 funciona, do Matlab, isso não acontece.

Parece que este é um problema conhecido, pelo menos com outras ferramentas que tentam conduzir o TFS. Há uma solução alternativa, que é configurar o VS 2012 para usar um utilitário de diferenciação externo. Eu tentei isso e funcionou. Além disso, descobri que se você configurar o utilitário de diferenciação externa como a ferramenta de comparação 'interna' do VS 2012, a ferramenta interna será chamada corretamente a partir do Matlab.

O comando diff é:

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

e os argumentos requeridos são:

 /Diff %1 %2 %6 %7

(ou seja, arquivo original, arquivo modificado, rótulo de arquivo original, rótulo de arquivo modificado). Há documentação sobre issoAqui.

A ferramenta de mesclagem é mais problemática. Não consigo encontrar nenhuma documentação específica em sua linha de comando. O mais perto que cheguei até agora é

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

que tenho certeza que está certo, mas os argumentos que estou usando

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

não está certo - os rótulos de arquivo são diferentes e a exibição de diferença é formatada de forma diferente (da ferramenta interna normal). Eu fiz engenharia reversa desta linha de comando de alguma documentação relacionada ao gitAqui mas eu não sei nada sobre o git, nem falo italiano. Alguém pode me ajudar a encontrar as opções corretas de linha de comando para usar, por favor?

EDITAR ADICIONAR

Há uma discussão do MSDN que parece estar relacionada com este problemaAqui. Parece que isso acontece com outras ferramentas e não se limita ao Matlab: eu re-tagged esta questão em conformidade

EDITAR ADICIONAR

A linha de comandos preferida para a funcionalidade Diff é:

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

e os argumentos da linha de comando são:

/t %1 %2 %6 %7

O equivalente para a funcionalidade Mesclar não funciona: esse é um bug interno e a Microsoft reconheceu isso.

questionAnswers(2)

yourAnswerToTheQuestion