conf/gitolite.conf
ファイルがプッシュされ、命名規則に準拠していない名前の新しいリポジトリが含まれている場合、プッシュが失敗するように、gitolite インストールにフックを追加したいと考えています。
gitolite の内部をハッキングせずにこれを行うことはできますか?
gitolite 1.5.4 を使用しています。
一方、管理者が適切な命名規則でリポジトリ名を作成することを信頼していないことについて話している場合は、いくつかの解決策と代替手段があります。
(1) 彼がサーバーにログオンし、問題のあるリポジトリを削除し、構成を再度修正できるように警告するだけで十分ですか?
その場合は、PRE_CREATE または POST_CREATE トリガーを使用します (gitolite ドキュメントの triggers.html を参照してください)。引数 2 を確認してテストし、必要に応じてノイズの多いメッセージを出力します。
(2) 警告が不十分で、完全に強制終了する必要がある場合は、Perl である必要がある場合を除いて、PRE_CREATE トリガーを使用します。$_[1] (2 番目の引数) をチェックする必要があることを除いて、モデルとして src/lib/Gitolite/Triggers/AutoCreate.pm を使用します。
(3) あなたは管理者でもありますか? おそらく「メイン」の管理者ですか? その場合は、委任を参照してください (gitolite ドキュメントの deleg.html を参照してください)。ただし、これにはより多くの制約があります (たとえば、彼がキーを追加することを許可されている場合、彼は単にあなたの名前で新しいキーを追加し、制限をバイパスします.
まず、最新のGitoliteにアップグレードします(1.5.4は2年以上前です)
次に、名前に基づいてリポジトリの作成を制限できるGitoliteの「内部」機能は、「ワイルドリポジトリ」(「ワイルドカードリポジトリ」)または「ユーザーが作成したリポジトリ」と呼ばれます。
Gitolite V2またはG2(V1については不明)、およびGitoliteV3またはg3で使用できる場合。
wildrepos機能を使用すると、正規表現パターンを使用してアクセス制御ルールを指定できるため、構成ファイル内の単一のルールセットによって多くの実際のリポジトリを提供できます。
正規表現パターンには、CREATORという単語を含めることもできます。これにより、リポジトリを作成するユーザーの名前をパラメーター化できます。