Dostęp wiersza polecenia do narzędzia scalania VS 2012

Badam korzystanie z TFS 2012 jako dostawcy kontroli źródła dla Matlab w systemie Windows 7. Wymaga to zainstalowania klienta powłoki / TFS VS 2012 oraz 64-bitowego dostawcy MSSCCI dostępnego jako bezpłatne pliki do pobrania od firmy Microsoft. Ustawiłem to wszystko i działa OK.

Istnieje jednak problem z różnicowaniem i łączeniem plików. Jeśli zobaczę różnice w Eksploratorze kontroli źródła VS 2012, narzędzie Diff VS 2012 działa poprawnie. Jeśli spróbuję wykonać tę samą operację z poziomu Matlaba (używając menu Kontrola źródła), pojawia się błąd „Nie można wykonać skonfigurowanego narzędzia”. To samo dzieje się z przyciskiem „scal zmiany w narzędziu do scalania” podczas rozwiązywania konfliktów: w VS 2012 działa, z Matlaba, nie.

Wydaje się, że jest to znany problem, przynajmniej z innymi narzędziami próbującymi sterować TFS. Istnieje obejście, polegające na skonfigurowaniu VS 2012 do korzystania z zewnętrznego mechanizmu różnicowania. Próbowałem tego i zadziałało. Ponadto odkryłem, że jeśli skonfigurujesz narzędzie do różnicowania zewnętrznego tak, aby było własnym „wewnętrznym” narzędziem VS 2012, narzędzie wewnętrzne zostanie poprawnie wywołane z Matlaba.

Polecenie diff to:

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

a wymaganymi argumentami są:

 /Diff %1 %2 %6 %7

(tj. oryginalny plik, zmodyfikowany plik, oryginalna etykieta pliku, zmodyfikowana etykieta pliku). Istnieje dokumentacja na ten temattutaj.

Narzędzie scalania jest bardziej problematyczne. Nie mogę znaleźć żadnej konkretnej dokumentacji w wierszu poleceń. Najbliższy jak dotąd mam

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

jestem pewien, że mam rację, ale argumenty, których używam

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

nie są całkiem poprawne - etykiety plików są różne, a wyświetlacz różnicy jest sformatowany inaczej (od zwykłego wbudowanego narzędzia). Zmodyfikowałem tę linię poleceń na podstawie dokumentacji związanej z gitemtutaj ale nic nie wiem o gicie ani nie mówię po włosku. Czy ktoś może mi pomóc znaleźć właściwe opcje wiersza poleceń do wykorzystania?

EDYTUJ DO DODAJ

Istnieje dyskusja MSDN, która wydaje się być związana z tym problememtutaj. Wygląda na to, że dzieje się tak z innymi narzędziami i nie ogranicza się tylko do Matlab: Odpowiednio otagowałem to pytanie

EDYTUJ DO DODAJ

Preferowaną linią poleceń dla funkcji Diff jest:

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

a argumentami wiersza polecenia są:

/t %1 %2 %6 %7

Odpowiednik funkcji scalania nie działa: jest to wewnętrzny błąd i Microsoft to potwierdził.

questionAnswers(2)

yourAnswerToTheQuestion