Udało mi się zmusić git do uruchomienia Beyond Compare 3 jako narzędzia do porównywania, jednak kiedy robię różnicę, plik, z którym porównuję, nie jest ładowany. Ładowana jest tylko najnowsza wersja pliku i nic więcej, więc w prawym okienku Beyond Compare nic nie ma.
Używam git 1.6.3.1 z Cygwin z Beyond Compare 3. Skonfigurowałem nieporównywalne, jak sugerują w części wsparcia ich strony internetowej ze skryptem takim jak:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Czy ktoś jeszcze napotkał ten problem i zna rozwiązanie tego problemu?
Edycja:
Postępowałem zgodnie z sugestiami VonC, ale nadal mam dokładnie ten sam problem, co wcześniej. Jestem trochę nowy w Git, więc być może nie używam poprawnie różnicy.
Na przykład próbuję zobaczyć różnicę w pliku za pomocą polecenia takiego jak:
git diff main.css
Beyond Compare otworzy się i wyświetli tylko mój bieżący plik main.css w lewym okienku, w prawym okienku nic nie ma. Chciałbym zobaczyć mój aktualny plik main.css w lewym okienku w porównaniu do HEAD, w zasadzie to, co ostatnio zatwierdziłem.
Mój git-diff-wrapper.sh wygląda tak:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Moja konfiguracja git wygląda tak dla Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
/c/program files
zamiastc:/program files
. Usunąłem też"$(cygpath -w $LOCAL)"
i właśnie użyłem"$LOCAL"
. Wydawało się, że to działa.