一連の入力ファイルに対してテストするツールを実行する小さなテストスイートを作成しています。入力ファイルごとに、対応する出力ファイルがツールによって作成されています(どちらもXML形式です)。入力ファイルと出力ファイルはGitリポジトリにチェックインされます。
出力ファイルにはツールがコンパイルされた時間が含まれているため、出力ファイルは、テスト対象のツールによって再作成された後、確実に変更されます。
出力が変更されたかどうかを簡単に確認するために(ツールのソースを変更したとき)、ノードのコンテンツが変更されたかどうかを確認したいと思いますOutputFingerprint
(出力ファイルの関連部分のコンテンツの単純なハッシュ) 。
のマニュアルを読んで、私はオプションgit-diff
があることがわかりました:-G
-G<regex>
追加または削除された行が指定された<regex>と一致する相違点を探します。
残念ながら、-G
オプションの使用方法の例は提供されていません。
私の最初の考えは単に書くことでした
git diff -GOutputFingerprint
しかし、それは間違っています:
> git diff -GOutputFingerprint
error: invalid option: -GOutputFingerprint
次の考えは、正規表現をスラッシュで囲むことでしたが、これも成功していません。
> git diff -G/OutputFingerprint/
error: invalid option: -GC:/Program Files/Git/OutputFingerprint/
-G
また、との間にスペースを入れるだけでOutputFingerprint
は機能しません。
> git diff -G OutputFingerprint
fatal: ambiguous argument 'OutputFingerprint': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
git diff
パラメータを指定せずに呼び出すと、次のように変更されます。
- <OutputFingerprint>e45807ca76fc5bb78e9e928c6fb7eed6</OutputFingerprint>
+ <OutputFingerprint>d0846851bc9d52b37f7919def78660a2</OutputFingerprint>
別の考えはを使用することgit diff -S".*OutputFingerprint.*" --pickaxe-regex
でしたが、これも成功していません。
git --version
git version 1.7.3.1.msysgit.0
それが適切かどうかを教えてください。
私が尋ねるgit diff --help
と、提供されたマニュアルは私に-G
オプションを示しています。
git diff -G
それで、誰かが私に正しく使用する方法の例を教えてもらえますか?