gitolite禁止访问master分支上的目录,但不访问用户分支上的目录

时间:2012-08-10 10:02:08

标签: git gitolite gitlab

考虑以下回购:

REPO / SRC / A /

REPO / SRC / B /

只有1个回购可以实现以下限制吗?

  1. 在主分支上,允许完全访问维护者角色
  2. 在主分支上,禁止访问A但允许B为贡献者角色。
  3. 在个人分支机构上,允许向创作者完全访问A和B.

2 个答案:

答案 0 :(得分:4)

使用Gitolite V3 or 'g3'及其VREF,应该可以实现这些限制。

但您可以管理的访问权限仅适用于写入权限 如果用户可以克隆回购,他/她将具有对所有回购的读取权限(如“gitolite: allow to change only selelected files”中所述)。
如果您确实想限制读取权限,可以尝试gitolite 'partial-copy'

很少注意到:

access rule就像:

<permission> <zero or more refexes> = <one or more users/user groups>

<zero or more refexes> 表示您可以结合使用refex

这会产生类似(未经测试)的东西:

repo REPO
        RW+  master                     =   MAINTAINER
        -    master         VREF/NAME/A =   CONTRIBUTOR
        RW   master         VREF/NAME/B =   CONTRIBUTOR
        RW   personal/USER/ VREF/NAME/A =   CREATOR
        RW   personal/USER/ VREF/NAME/B =   CREATOR

答案 1 :(得分:0)

repo REPO
    - master VREF/NAME/src/A = @contributors
    RW+ master = @maintainers @contributors
    RW+ personal/ = @creators