考虑以下回购:gitolite禁止对主分支目录访问而不是在用户分支
REPO/SRC/A/
REPO/SRC/B/
是否有可能通过具有只有1个回购实施以下限制?
- 在主分支,可以充分地维护作用
- 在主分支,禁止访问,但允许B到贡献者的角色。
- 在个人分支上,允许创作者完全访问A和B.
考虑以下回购:gitolite禁止对主分支目录访问而不是在用户分支
REPO/SRC/A/
REPO/SRC/B/
是否有可能通过具有只有1个回购实施以下限制?
使用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>
意味着你可以结合refexes
这会看到这样的(未测试):
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
嘿,我不在乎阅读权限。我会给你一个建议的设置,并回来反馈。 – Konstantinos 2012-08-10 13:06:20
@Konstantinos非常好。确保你的GitLab设置中安装了gitolite V3。在gitlab之外尝试,通过ssh直接使用git命令。 – VonC 2012-08-10 13:09:28
@VonC,但不是合并refex ORed而不是ANDed? – 2014-12-09 20:24:29
repo REPO
- master VREF/NAME/src/A = @contributors
RW+ master = @maintainers @contributors
RW+ personal/ = @creators
注:在你的情况下,VREF的名字可能是:'VREF/NAME/src/A',而不是'VREF/NAME/A'。 – VonC 2012-08-10 11:21:21