2016-08-10 14 views
1

"git difftool"を使ってバイナリファイルを比較しようとしています。このファイルもステージングされていますが、これは重要ではないようです。だから私は、以下のようなものを使用しています:git difftool:zipファイルを比較する方法

git difftool --staged /path/to/file 

と私の.gitconfigはそうのように構成されています。予想通り、私はgit difftoolを実行したときに

[difftool "bc3"] 
    path = C:/Program Files (x86)/Beyond Compare 3/BComp.com 
    cmd = BComp.com \"$LOCAL\" \"$REMOTE\" -lefttitle="Remote" -righttitle="$BASE" -lro 
[diff] 
    tool = bc3 
[difftool] 
    prompt = false 

するので、それは向こうが比較開き、しかし、私はエラーを取得すること基本バイナリファイルは存在しません。修正されたローカルコピーがツールに正しくロードされます。

私は* .bcpkg(基本的にzipファイルを超えて比較する設定ファイル)と通常の* .zipファイルでこれを認識しました。しかし、* .exeファイルでうまくいくようです。私が気付いたのは、git difftoolは、Beyond Compareが閉じられていないと返されてはならないということです。しかし、zipファイルの場合、常にすぐに返されます。

ところで、他のすべてのファイルタイプのdiffは私にとってうまく機能します。私はWindows 7(64ビット)であり、Beyond Compare 3を設定しています。

+0

Gitはバイナリファイルのdiffを私が理解しているものからうまく処理しません。これは、バイナリファイルのバージョン管理にGitを使用しない人が多い理由です。私はあなたの質問に予期せぬことは何も見ません。 –

+0

これは不満です...「ベース」ファイルを抽出し、レポの外にファイルをステージして、私のツールを使用して手動で比較することはできますか? –

+0

"ベース"ファイルがバイナリではなくプレーンテキスト、ソースコードなどであれば、動作するはずです。 –

答えて

1

これはBeyond Compare 4で修正されています。Beyond Compare 4はgitのdiffing zipファイルをサポートしています。

Beyond Compare 3はgitの差分zipファイルをサポートしていません。これは、エラーメッセージで失敗します。利用可能なフォルダない:C:42Ycl9_filename.zip

\ \ Users \ユーザー名\のAppData \ローカル\ Tempにあなたは向こうのテストzipファイルの差分に4を比較評価したい場合は、実行ポータブルインストールを作成してを作成し、デスクトップのフォルダにインストールします。これには管理者権限は必要ありません。次に、git config --global difftool.bc3.path "c:/ users/username/desktop/Beyond Compare 4/bcomp.exe"を実行して、ポータブルインストールを使用するようにします。テストが終了したら、デスクトップ上のフォルダを削除して、バージョン4のポータブルインストールを削除してください。

バージョン4の試用版を評価した後にライセンスをアップグレードするには、Scooter SoftwareのWebサイトのupgrade formに記入してください。

+0

これは正しくありません...私は同じ方法で比較してBeyondを結んだTortoiseSVNでzipファイルを罰金することができます。さらに、密接に見るとBComp.comではなくBComp.exeが使用されていますが、BComp.exeは比較タブが閉じられるまで戻りません。これは、Beyond Compareがすでに実行されている既存のインスタンスを持っているケースでも当てはまります。 –

+0

あなたはScooter Softwareの従業員であることに気がついたので、おそらく私はここで間違っています:p –

+0

私は同僚とこの問題について話しました。その行動はBC3からBC4に変わったかもしれません。私は今日いくつかの調査を行い、私のポストを更新します。 –

0

FWIW、this articleは、標準diffが実行される前に、選択した拡張子のファイルを解凍するようにgitを設定する方法を示しています。多分それは助けます。

+1

この手法が実用的であるかどうかは疑問です。私はそれが単純なケースのために十分であると仮定しますが、多くのファイルを含むzipファイルは、このように異なることは非常に困難です。それらを比較するもっと直感的な方法は、Beyond Compareと同じように、フォルダ比較ビューです。 –

+0

@WaqasIlyas、ああ、まったく。この特定のテクニックは、基本的に(新しい)Office形式の.docx、.xlsxなどのように、(圧縮のために)圧縮された基本的に1つ(やや冗長)なファイル形式で動作します。 – Fab

関連する問題