4

フックに関するGitolite のマニュアルで見つけた唯一のことは、次のとおりです。

独自のフックを追加したい場合は、'update' フックでない限り簡単です。$HOME/.gitolite/hooks/common に追加して、gitolite setup を実行するだけです。

ただし、必要に応じて古いバージョンに戻す可能性があるため、これらのフックに加えられた変更も追跡したいと思います (監査機能は、Gitolite を使用する大きな利点の 1 つとして挙げられています)。したがって、基本的にはhooks、gitolite-admin クローンにフォルダーを追加してから、フックをサーバーにプッシュする必要があるようなものを期待していました (構成や公開キーの追加と同様に)。

これは理にかなっていますか?出来ますか?

4

2 に答える 2

4

これらのフックはgitolite-adminリポジトリ(gitolite-admin/hooks/common)に追加して、Gitoliteサーバーにプッシュバックできます。
したがって、それらはバージョン管理されています。(少なくともGitolite V2の場合は、Gitolite V3で確認する必要があります)


OP Rijkが報告することを除いて、それは機能します。

問題は私のconfのエラーで、セットアッププログラムが停止しました。
その行をコメントアウトし、トリガーが正しくインストールされている

それは私のこの行でしたgitolite.conf

config hooks.showrev = "git log -1 --name-status --format='%%h (%%ad) ------------------------------%%n%%n%%B' %s". 

理由はわかりませんが、次のエラーが発生しました。

FATAL: bad value 'git log -1 --name-status --format='%%h (%%ad) ------------------------------%%n%%n%%B' %s'. 

今のところコメントアウトして、おそらくpost-receive-email後でスクリプトを書き直します。


OP Rijkの現在のソリューション:

私がGitolitev3でこれに対して現在持っている解決策は、次のとおりです。

  • 物を入れるgitolite-admin/local-code/hooks/common
  • 次に、サーバー上で、内の関連アイテムへのフルパスシンボリックリンクを配置します$HOME/.gitolite/hooks/common
于 2012-05-02T13:39:18.030 に答える
3

src/lib/Gitolite/Conf.pm のコードを見ると、値に UNSAFE_PATT 文字列の 1 つが含まれている場合、「不正な値」が出力されることがわかります。

UNSAFE_PATT は次のようになります (src/lib/Gitolite/Rc.pm 内): $UNSAFE_PATT = qr([`~#\$\&()|;<>]);

問題は、括弧の使用 (および gitolite.conf での単純化された解析) です。

于 2012-06-28T17:20:53.597 に答える