2011-06-22 4 views
1

リモートサーバーからミラーリングされたgit repoがあります。リモートサーバはコミット後の電子メール通知をサポートしておらず、私はそれにアクセスすることもできません。しかし、私は、このミラーコピーの新しいコミットを検出し、対応する電子メール通知を送信する方法を持っていることを望んでいます。まったく可能ですか?ミラーリングされたgit repoでポスト受信しますか?

おかげ

オリバー

答えて

1

はい。更新フックを実行し、更新があるたびにスクリプトを実行することができます。 gitがそのフックに渡す3つの引数は、ブランチ名、古いハッシュ、新しいハッシュです。この範囲をとり、コミットごとに電子メールを送信したり、すべてのコミットに対して1つの電子メールを送信したりすることができます。

ただし、これはセカンダリレポであるため、スケジュールされたジョブを取得してメインのものから更新する必要があります。

+0

私は両方を試したと思います。ポスト受信フックとアップデートフック。どちらもうまくいかないようです。スケジュールされたcronジョブは、 "git fetch -q"を実行してリモートから変更を取得します。 – Oliver

+0

どのように機能しないのですか?エラーが出ていますか?あなたは少なくともパラメータをエコーアウトすることはできますか? 'echo $ 1 $ 2 $ 3' –

+0

これは間違ったフックかもしれません。更新フックは、リポジトリがプッシュされたときに呼び出されます。 –

0

gitmirrorの一部として、私はpost-fetchフックを使ってgithub(例えば)から投稿を受け取り、フェッチしてから、docビルドなどを行うことができます。

私は、リモートエンドに変更が入ったことを通知するために少しカールがあるgithubなしでこれを使用します。ソースからdestへのhttp接続を取得できる場合は、これらのツールで欲しい。

私は大量のコミットを多くのプロジェクトに移して、それらの上に一種のツリー設定をプロキシします。

+0

私は後でそのショットを与え、それがどういうものかを見ます。情報をありがとう。 – Oliver

関連する問題