3

現在、リポジトリとユーザーを管理するためにgitoliteを使用しています。プッシュするたびに通知メールを正常に設定できました。コマンドは

chmod a+x post-receive-email
cd /path/to/your/repository.git
ln -sf /usr/share/doc/git-core/contrib/hooks/post-receive-email hooks/post-receive

通知メールには、変更の概要のみが含まれています。そのプッシュで、変更された各ファイルの変更行を追加したいと思います。そのpost-receive-emailファイルを編集していることを認識しており、git-diffコマンドを使用する必要があります。私の質問は

私が使用しなければならない正確なgit-diffコマンドは何ですか..?そのコマンドをそのpost-receive-emailファイルのどこに追加しましたか。gitoliteで利用可能な構成はありますか?

4

2 に答える 2

0

githooks(5)によるとpost-receive、stdin のすべての行 (別名、影響を受けるブランチ)、log最初のフィールドと 2 番目のフィールドの間の各コミット ( cut -d' ' -f1cut -d' ' -f2)、およびそれらのコミットのそれぞれを取得するスクリプトを作成できますgit show

そのすべての情報を変数に保存し、メールで送信します。これで完了です。

post-receive-emailフックを (リンクするのではなく) フック ディレクトリにコピーし、それを変更して新しいメール本文を作成することから始めることができると思います。

現在のフック スクリプトを投稿すると、変更方法を簡単に伝えることができます。

于 2012-12-21T05:47:59.603 に答える