2

私は、膨大な gitolite のドキュメントを何度も何度も読んできました。これは私の構成です:

root 権限を持つ別のユーザーとして Gitolite をインストールしている間に、gitolite を実行している Git ユーザー。gl-system-install メソッドを使用してインストールしました。

今、hooks/common ディレクトリの 2 つのコピーが表示されます (/usr/local/share/gitolite/hooks/commonそして/home/git/.gitolite/、システム全体の実装のために最初の 1 つを使用するつもりです)。

gitolite-source は次の場所にあります。/home/user/gitolite-source

ディレクトリにいくつかのダミー フックを配置しました/home/user/gitolite-source/hooks/common/(post-udpate、post-update.secondary、post-receive、および post-commit)。これらすべてに exec ビットが設定されています。

このディレクトリの更新フックを編集してセットアップを再実行すると、(既存のリポジトリにある) 新しい更新フックが の更新フックにシンボリック リンクされ/usr/local/share/gitolite/hooks/commonます。

しかし、source/hooks/common ディレクトリ内の新しいフックは両方のフックの場所にコピーされますが、新しいシンボリック リンクは既存のリポジトリには表示されません。

つまり、gitolite は独自のフックをコピーしますが、私のフックは無視します。

理由はありますか?

4

1 に答える 1

1

自力で答えを導き出しました。

gl-system-setup を何度も再実行して、各リポジトリの下に作成されたシンボリックリンクを作成することを期待していましたが、それを行ったのは gl-setup でした。

しかし、gl-setup の再実行も機能しませんでした。(奇妙な解析エラーが発生しました)。そこで、gitolite にフックされたセンチネル ファイルをすべて削除し、更新を gitolite-admin リポジトリにプッシュすることにしました。これにより、gitolite にフックされたファイルが見つからない場合にフックがコピーされます。

于 2011-04-14T03:54:57.827 に答える