8

私は現在、既存のSVNリポジトリをgitに変換し、プッシュを許可する前にレビューにReviewboardを使用することを検討しています。私は最近gitを使い始めたばかりで、専門家からはほど遠いですが、私がやりたいのは、「post-review」を実行して変更をReviewBoardに送信するpre-pushフックを用意することです。これを行うフックが機能していますが、これはリポジトリのクローンに自動的に伝播されないようです。ユーザーに実行可能コードを強制することを防ぐためにこれが行われていないように見えますが、これは内部専用のリポジトリであり、これと他のいくつかのポリシーを適用したいと思います。gitにフックをリモートクローンに伝播させる方法はありますか、それともそれらのフックをローカルリポジトリに配置する何かを実行するように開発者に指示する必要がありますか?

4

1 に答える 1

8

Gitには、オプションかどうかにかかわらず、クローン間でフックを転送するための組み込みのサポートはありません。新しいリポジトリ用に変更または追加できるデフォルトのテンプレートがありますが、それらはローカルファイルシステム(または場合によってはネットワークファイルシステム)から取得されます。それらをコピーするためのシステムをインストルメント化するか、フック自体をリポジトリーに入れて、開発者にクローンを正しく構成するように依頼することができます。

プッシュが発生したとき、ただしrefが更新される前に、中央のベアリポジトリで必要なフックを実行することも可能です。これは、事前受信または更新フックを使用して実行できます。これが許容できるかどうかは、このフックの実際の機能によって異なりますが、投稿からは明らかではありません。

http://www.reviewboard.org/docs/manual/dev/faq/を読むと、開発者にトピックブランチの使用を勧めるべきかもしれません。変更が承認されると、リリースブランチにマージできます。特権ユーザーからの特定のブランチへのプッシュ、またはその他の基準のみを許可する更新フックを使用できます。これは、 http: //progit.org/book/ch4-8.htmlで読むことができるGitoliteを使用して行うこともできます。

Reviewboardに取り組んでいない場合は、Gitとより適切に統合され、このワークフローを明示的にサポートするhttp://code.google.com/p/gerrit/を検討してください。

于 2010-08-13T17:56:19.110 に答える