2

Gitのメール受信後フックスクリプトに問題があります。これが私がしたことです:

  1. 私のサーバーでは、以下を使用してベアリポジトリを初期化しましたgit --bare init myrepo.git。私のサーバーのGit構成ファイルにはcore.bare = true
  2. ポストレシーブ用のGitメールのガイドを使用してセットアップを行いました
  3. 私のクライアントでは、を使用してリポジトリのクローンを作成しますgit clone URL。私のクライアントでは、Gitの設定はcore.bare = falseです。
  4. いくつかの作業を行い、新しいファイルを追加し、ローカルGitにコミットしました
  5. 以下を使用して変更をリモートリポジトリにプッシュしました。git push origin masterこれにより、実行されたコミットに対して生成されたref-idが発行されます。
  6. しかし、私は電子メールを受け取りません。hooksそのため、次のディレクトリにあるサーバーで受信後フックスクリプトを実行しようとしました。./post-receive <oldrev> <newrev> refs/heads/master

次のエラーが常に返されます。

c9c047af(コミット)への不明なタイプの更新
電子メールが生成されません

何が間違っている可能性があるかについての手がかりはありますか?

4

1 に答える 1

1

配信post-receive-emailスクリプトを使っていたのですが、スクリプトに変なバグが見つかりました。post-receive-email私のバージョンの終わりに向かって、次のように述べています。

prep_for_email $2 $3 $1 && PAGER= generate_email

どちらであるべきか

prep_for_email $1 $2 $3 && PAGER= generate_email

この変更により、 への手動呼び出しが解決されましたpost-receive <oldrev> <newrev> <refname>。これがそれに直面する可能性のある他の人に役立つことを願っています。

于 2012-07-03T19:07:48.307 に答える