2

git diffA と B の間の pre-receive フックで aを取得するにはどうすればよいですか?

  • A. (でsomefile.ext表示された最新バージョン) サーバー上の現在の HEAD
  • B. (でsomefile.ext表示された最新バージョン) prereceive フックからツリーを受け取った

これが必要なのは、(Gitolite サーバー上で) 一部のファイルが変更されたときに、電子メールで通知を受けて A と B の違いを確認したいからです。

環境: Ubuntu サーバー 11 + Gitolite + pre-receive フック

4

1 に答える 1

2

pre-receiveは主に更新を拒否するために使用され、post-receiveは通知を受け取るために使用されるため、実際にはpost-receiveを使用したいと思います(これはあなたがやりたいことのようです)。

どちらも (stdin を介して) 同じ入力を取得し、githooks(5)
に 記載されています。入力は、更新された参照とそれらの古いコミット ハッシュと新しいコミット ハッシュのリストです。
このデータを使用して、git diff

于 2012-06-06T16:03:32.073 に答える