Acceso por línea de comandos a la herramienta de combinación VS 2012

Estoy investigando el uso de TFS 2012 como el proveedor de control de código fuente para Matlab, en Windows 7. Esto requiere la instalación del cliente de shell / TFS de VS 2012, y el proveedor de MSSCCI de 64 bits disponible como descargas gratuitas de Microsoft. He configurado todo esto y funciona bien.

Sin embargo, hay un problema con la diferenciación de archivos y la fusión. Si veo diferencias en VS 2012 Source Control Explorer, la herramienta Diferencia de VS 2012 se ejecuta correctamente. Si intento la misma operación desde Matlab (usando el menú de control de fuente) obtengo un error "No se puede ejecutar la herramienta configurada". Lo mismo ocurre con el botón 'fusionar cambios en la herramienta de combinación' al resolver conflictos: en VS 2012 funciona, desde Matlab, no es así.

Parece que este es un problema conocido, al menos con otras herramientas que intentan controlar TFS. Hay una solución alternativa, que consiste en configurar VS 2012 para usar una utilidad de diferenciación externa. Probé esto y funcionó. Además, descubrí que si configura la utilidad de diferenciación externa para que sea la propia herramienta de diferencias 'interna' de VS 2012, la herramienta interna se llamará correctamente desde Matlab.

El comando diff es:

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

y los argumentos requeridos son:

 /Diff %1 %2 %6 %7

(es decir, archivo original, archivo modificado, etiqueta del archivo original, etiqueta del archivo modificado). Hay documentación sobre esto.aquí.

La herramienta de fusión es más problemática. No puedo encontrar ninguna documentación específica en su línea de comandos. Lo más cerca que tengo hasta ahora es

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

que estoy bastante seguro de que es correcto, pero los argumentos que estoy usando

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

no son del todo correctos: las etiquetas de los archivos son diferentes y la visualización de la diferencia tiene un formato diferente (de la herramienta incorporada normal). Realicé ingeniería inversa de esta línea de comando de alguna documentación relacionada con gitaquí pero no sé nada de git, ni hablo italiano. ¿Alguien puede ayudarme a encontrar las opciones de línea de comando correctas para usar, por favor?

EDITAR PARA AÑADIR

Hay una discusión de MSDN que parece estar relacionada con este problemaaquí. Parece que sucede con otras herramientas y no se limita a Matlab: he vuelto a etiquetar esta pregunta en consecuencia

EDITAR PARA AÑADIR

La línea de comando preferida para la funcionalidad Diff es:

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

y los argumentos de línea de comando son:

/t %1 %2 %6 %7

El equivalente para la funcionalidad de combinación no funciona: este es un error interno y Microsoft lo ha reconocido.

Respuestas a la pregunta(2)

Su respuesta a la pregunta