在gitolite中,我希望@developers
能够推送到master
以外的任何分支。
我希望user1
能够推送到任何分支(包括master
),而不是master
上的某个目录。
我该怎么做?
答案 0 :(得分:1)
这应该解决两个问题:
repo arepo
RW = @developer
- master$ = @developer
RW = user1
- master and VREF/NAME/adirectory = user1
access rules和refex页面解释了/ refs / head / master分支如何拒绝推送@developer。
Virtual Refs 'NAME
'允许您拒绝推送给定目录或文件。
- master VREF/NAME/adirectory = user1
似乎没有做“和”条件,但是“或”对我们来说 -
master VREF/NAME/adirectory = user1
我最终为我需要的东西编写了一个自定义的VREF脚本
我确认,在这种情况下,只有自定义VREF才能满足OP的要求,直到gitolite 3.5(以及'and
'的引入):见sitaram(gitolite的创建者)' s answer。
答案 1 :(得分:1)
从v3.5开始,你可以这样做:
(1)添加此行
'refex-expr',
某处inside the ENABLE hash in the .gitolite.rc
file。
(2)使用这样的规则:
repo r1
RW+ master = user
RW+ = user
RW+ VREF/NAME/Makefile = user
- master and VREF/NAME/Makefile = user
文档(包括警告!)位于src/VREF/refex-expr
内。还有一些其他简洁的例子。
请注意,我不遵循SO / SE /等; IMO the gitolite邮件列表是关于gitolite问题的正确位置。
然而,有人向我指出了这一点,因为它引用了一个最近的功能,我以为我会插手。
- sitaram