Мне удалось заставить git запустить Beyond Compare 3 в качестве инструмента сравнения, однако, когда я выполняю сравнение, файл, с которым я сравниваю, не загружается. Загружается только последняя версия файла и ничего больше, поэтому на правой панели Beyond Compare ничего нет.
Я запускаю git 1.6.3.1 с Cygwin с Beyond Compare 3. Я установил вне всякого сравнения, как они предлагают в части поддержки своего веб-сайта, с таким скриптом:
#!/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
Кто-нибудь еще сталкивался с этой проблемой и знает решение?
Изменить:
я следил за предложениями VonC, но у меня все еще есть та же проблема, что и раньше. Я новичок в Git, поэтому, возможно, я неправильно использую diff.
Например, я пытаюсь увидеть разницу в файле с помощью такой команды:
git diff main.css
После этого откроется Beyond Compare, и на левой панели будет отображаться только мой текущий main.css, на правой панели ничего нет. Я хотел бы видеть мой текущий main.css на левой панели по сравнению с HEAD, в основном то, что я делал в последний раз.
Мой git-diff-wrapper.sh выглядит так:
#!/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
Моя конфигурация git для Diff выглядит так:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
/c/program files
вместоc:/program files
. Также я удалил"$(cygpath -w $LOCAL)"
и просто использовал"$LOCAL"
. Похоже, это помогло.