5

開発者が共有リポジトリに更新をプッシュしたときに通知メールを送信するフックを作成しました。この電子メールには、変更されたファイルのリストが含まれています。例:

A   __classes/Page/Activity.php
M   __config/Scheme.php

次のbashを使用して生成します。

$(git diff "$newrev"^ "$newrev" --name-status)

これは正常に機能します。しかし、私は今、これらすべてを有名なpost-receive-emailフックに移植しようとしています。このフックには構成ディレクティブがありますが、これでは、コマンドでリビジョン番号( )を1回hooks.showrevだけ使用できると思います。したがって、これは機能しません。%s

showrev = "git diff %s^ %s --name-status"

これを実行する「配管」コマンドが必要です。誰かが私を正しい方向に向けることができますか?:)

4

2 に答える 2

2

以下を使ってみませんか?

showrev = "git show --name-status --pretty=format: %s"

git show配管ではなく磁器ですが、これがあなたの望みだと思います。

于 2012-05-02T14:37:03.607 に答える
1

git whatchanged -1 <rev>良い出発点かもしれません、そして出力フォーマットをマッサージするための多くの追加のオプションがあります。上で引用した形式を正確に取得できるかどうかはわかりませんが、同等のものを取得できるはずです。

于 2012-05-02T14:51:19.593 に答える