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ł.