考虑以下存储库:
REPO/src/A/
REPO/src/B/
如果只有一个仓库,是否可以实现以下限制?
- 在主分支上,允许维护者角色完全访问。
- 在主分支上,禁止贡献者角色访问 A 但允许访问 B。
- 在个人分支上,允许创建者完全访问 A 和 B。
使用 Gitolite V3 或 'g3' 和其VREF,应该可以实现这些限制。
但是你可以管理的访问权限仅限于写入访问权限。
如果用户可以克隆存储库,则他/她将具有对所有存储库的读取访问权限(如在“gitolite:仅允许更改选定文件”中所述)。
如果您真的想限制读取访问权限,则可以尝试 gitolite 'partial-copy
'。
几个注意点:
访问规则就像:
<permission> <zero or more refexes> = <one or more users/user groups>
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
repo REPO
- master VREF/NAME/src/A = @contributors
RW+ master = @maintainers @contributors
RW+ personal/ = @creators
VREF/NAME/src/A
而不是VREF/NAME/A
。 - VonC