Consegui fazer com que o git iniciasse o Beyond Compare 3 como uma ferramenta diff, no entanto, quando faço uma diff, o arquivo que estou comparando não está sendo carregado. Apenas a versão mais recente do arquivo é carregada e nada mais, portanto, não há nada no painel direito do Beyond Compare.
Estou executando o git 1.6.3.1 com Cygwin com Beyond Compare 3. Eu configurei além da comparação, como eles sugerem na parte de suporte de seu site com um script como este:
#!/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
Alguém mais encontrou esse problema e conhece uma solução para isso?
Edit:
Segui as sugestões de VonC, mas ainda estou tendo exatamente o mesmo problema de antes. Eu sou meio novo no Git, então talvez eu não esteja usando o diff corretamente.
Por exemplo, estou tentando ver o diff em um arquivo com um comando como:
git diff main.css
O Beyond Compare será aberto e exibirá apenas meu main.css atual no painel esquerdo, não há nada no painel direito. Gostaria de ver meu main.css atual no painel esquerdo em comparação com o HEAD, basicamente o que cometi por último.
Meu git-diff-wrapper.sh se parece com isto:
#!/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
Minha configuração git se parece com isto para Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
/c/program files
vez dec:/program files
. Também retirei o"$(cygpath -w $LOCAL)"
e apenas usei"$LOCAL"
. Isso pareceu funcionar.