Beyond Compare 3を差分ツールとしてgitを起動することに成功しましたが、diffを実行すると、比較対象のファイルがロードされません。ファイルの最新バージョンのみが読み込まれ、それ以外は読み込まれないため、Beyond Compareの右側のペインには何も表示されません。
Beyond Compare 3を使用してCygwinでgit 1.6.3.1を実行しています。次のようなスクリプトを使用して、Webサイトのサポート部分で提案されているように、Compareを超えて設定しました。
#!/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のみが表示されます。右側のペインには何も表示されません。HEADと比較して、左側のペインに現在のmain.cssを確認してください。基本的には、最後にコミットしたものです。
私の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
代わりにLinuxスタイルのパスを使用する必要がありましたc:/program files
。また、外して"$(cygpath -w $LOCAL)"
そのまま使用しました"$LOCAL"
。それはトリックをするようでした。