Użyłem @ VonC's excellent instructions do skonfigurowania mojego systemu programistycznego, aby git difftool <BRANCH1> <BRANCH1>
wywoływał WinMerge. Oto co zrobiłem:WinMerge za pośrednictwem git difftool wyświetla monit o podanie drugiego pliku
umieścił następujący w
~/.gitconfig
:[edycja]
tool = winmerge
[difftool "WinMerge"]
cmd = winmerge.sh \"$LOCAL\" \"$REMOTE\"
[difftool]
prompt = false
Utworzony
/usr/bin/winmerge.sh
o następującej treści:echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe" -e -ub "$1" "$2"
Teraz, gdy próbuję uruchomić WinMerge poprzez git difftool <BRANCH1> <BRANCH1>
, odbieram to, co wydaje się być poprawny parametr mijania :
Launching WinMergeU.exe: /tmp/21qMVb_file1.c /tmp/1ACqik_file1.c
Jednak z jakiegoś dziwnego powodu, zamiast WinMerge wyświetlającego dwa pliki obok siebie, prosi o podanie pierwszego pliku pierwszy, z drugim plikiem akceptowanym jako lewy:
Dlaczego tak się dzieje? Czego mi brakowało w etapach konfiguracji?
P.S. Kiedy wpisuję w linii poleceń winmerge.sh file1.c file2.c
, WinMerge natychmiast wyświetla dwa pliki obok siebie, tak jak się spodziewałem.
UPDATE: Oh wow, po prostu zauważyłem komunikat Both paths are invalid
u dołu wierszu WinMerge (oraz zaktualizowane zrzut ekranu, aby podkreślić, że). Wydaje się, że te pliki po prostu nie zostały wygenerowane przez difftool lub coś jest nie tak ze ścieżką.
Czy próbowałeś tej wersji? http://stackoverflow.com/questions/255202/how-do-i-view-git-diff-output-with-visual-diff-program/4116806#4116806 – VonC
@VonC Jeszcze nie, ale zapamiętaj moją aktualizację, która wskazuje na problem jest we wcześniejszym punkcie niż 'winmerge.sh'. Wydaje mi się, że dziwność mojej konfiguracji systemu działa przeciwko mnie ... 'cygwin-1.7.8-1''' git version 1.7.4' + 'Windows 7 Ultimate 64-bit' z moim' $ HOME =/home', który jest zamontowany jako '// sambaserver/projshare' na'/home'. – WinWin
jest szansa na zdefiniowanie 'HOME' na bardziej konwencjonalnej ścieżce PATH? 'C: \ ...' Istnieje szansa, że twój skrypt działa tylko w środowisku bash, a nie w Windows. – VonC