Befehlszeilenzugriff auf das VS 2012-Zusammenführungstool

Ich untersuche die Verwendung von TFS 2012 als Versionsverwaltungsanbieter für Matlab unter Windows 7. Dazu müssen der VS 2012-Shell- / TFS-Client und der 64-Bit-MSSCCI-Anbieter installiert werden, die als kostenlose Downloads von Microsoft erhältlich sind. Ich habe alles eingerichtet und es funktioniert in Ordnung.

Es gibt jedoch ein Problem beim Vergleichen und Zusammenführen von Dateien. Wenn ich Unterschiede zum VS 2012-Versionsverwaltungs-Explorer sehe, wird das VS 2012 Diff-Tool ordnungsgemäß ausgeführt. Wenn ich den gleichen Vorgang in Matlab versuche (über das Versionsverwaltungsmenü), wird die Fehlermeldung "Das konfigurierte Tool kann nicht ausgeführt werden" angezeigt. Dasselbe passiert mit der Schaltfläche "Änderungen im Zusammenführungswerkzeug zusammenführen", wenn Konflikte gelöst werden: In VS 2012 funktioniert dies, in Matlab nicht.

Zumindest bei anderen Tools, die versuchen, TFS zu betreiben, scheint dies ein bekanntes Problem zu sein. Es gibt eine Problemumgehung, bei der VS 2012 so konfiguriert wird, dass ein externes Dienstprogramm zur Differenzierung verwendet wird. Ich habe es versucht und es hat funktioniert. Außerdem stellte ich fest, dass das interne Tool von Matlab korrekt aufgerufen wird, wenn Sie das Dienstprogramm für externe Differenzierung als VS 2012-eigenes 'internes' Diff-Tool konfigurieren.

Der Befehl diff lautet:

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

und die erforderlichen Argumente sind:

 /Diff %1 %2 %6 %7

(d. h. Originaldatei, geänderte Datei, Originaldateibezeichnung, geänderte Dateibezeichnung). Es gibt Dokumentation dazuHier.

Das Merge-Tool ist problematischer. Ich kann in der Befehlszeile keine spezifische Dokumentation finden. Der nächste, den ich bisher habe, ist

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

Was ich ziemlich sicher bin, ist richtig, aber die Argumente, die ich benutze

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

sind nicht ganz richtig - die Dateibeschriftungen sind unterschiedlich und die Anzeige der Unterschiede ist anders formatiert (als im normalen integrierten Tool). Ich habe diese Befehlszeile aus einer git-bezogenen Dokumentation überarbeitetHier aber ich weiß nichts über git, noch spreche ich italienisch. Kann mir jemand helfen, die richtigen Befehlszeilenoptionen zu finden?

BEARBEITEN ZU HINZUFÜGEN

Es gibt eine MSDN-Diskussion, die anscheinend mit diesem Problem zusammenhängtHier. Es sieht so aus, als ob es mit anderen Tools passiert und ist nicht auf Matlab beschränkt: Ich habe diese Frage entsprechend umgetaggt

BEARBEITEN ZU HINZUFÜGEN

Die bevorzugte Befehlszeile für die Diff-Funktionalität lautet:

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

und die Befehlszeilenargumente sind:

/t %1 %2 %6 %7

Das Äquivalent für die Merge-Funktion funktioniert nicht: Dies ist ein interner Fehler und Microsoft hat dies bestätigt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage