-1

私はsymfonyプロジェクトの作業構成を持っています:

@admin = admin ku
@developer = sarhan dima_syrv sarhandom a_bobkov
@testers = novikov_d 

repo    dev
    - master = @admin @developer @testers
    RW+      =   @admin @developer
    RW+     =   jenkins ku
    RW      =   @testers

テスターのグループが Tests フォルダーにのみ書き込みできるようにしたい。私はこの設定を行っています: @admin = admin ku @developer = sarhan dima_syrv sarhandom a_bobkov @testers = novikov_d

repo    dev
    - master = @admin @developer @testers
    RW      =   @admin @developer
    RW+     =   jenkins
    RW      =   @testers
    RW NAME/ =  @admin
    RW NAME/src =   @admin @developer
    RW NAME/src/.*/.*/Tests   =   @testers

私は symfony プロジェクトの作業構成を持っています テスターのグループがフォルダー Tests にしか書き込めないようにしたい 私はこの構成を行っています そして、それは私にソリューションの一部しか与えません、テスターは Tests フォルダーにしか書き込めませんが、誰も書き込めません新しいブランチをプッシュできます 古いブランチでのみ記録できます テスターはTestsフォルダにしか書き込めないのに、全員に新しいブランチを作成させるにはどうすればよいですか? 私を助けてください!

4

2 に答える 2

3

VREF NAMEコミットがレポ内の間違ったディレクトリまたはファイルに影響を与える場合、プッシュを拒否する更新フックを見てください。

「ディレクトリ/ファイル名によるプッシュの制限」を参照してください(gitolite バージョン 3 または 'g3' を使用)。

を使用"NAME" VREFすると、変更されたディレクトリとファイルの名前によってプッシュを制限できます。
(補足: NAME VREFupdate フック内に直接実装されているのはこれだけなので、VREFディレクトリにはありません)。

これが例です。Makefile非常に複雑なため、後輩の開発者が に変更をプッシュしたくないとします。

repo foo
    RW+                             =   @senior_devs
    RW                              =   @junior_devs

    -   VREF/NAME/Makefile          =   @junior_devs

上級開発者がプッシュしても、VREFはまったく呼び出されません。しかし、後輩の開発者がプッシュすると、VREFが呼び出され、ref として変更されたファイルのリストが次のように返されます。

VREF/NAME/file-1
VREF/NAME/dir-2/file-3
...etc...

これらの各参照は、アクセス ルールと照合されます。
それらの 1 つがたまたま である場合、Makefile返された ref ( VREF/NAME/Makefile) は拒否ルールに一致し、プッシュを強制終了します。


したがって、そのフックが正確なシナリオをサポートするかどうかを確認するために少し実験する必要がありますが、これは Gitolite がファイルまたはディレクトリ名によるプッシュを制限する公式の方法です。

于 2013-01-02T14:30:37.357 に答える
0

簡単な答え: あなたにはできません。git リポジトリはコンテンツ全体です。

唯一の解決策は、テスト ソースを別のリポジトリに置く (そしてサブモジュールを使用する) ことです。

于 2013-01-02T14:24:08.283 に答える