1

在 gitolite 中,我希望@developers能够推送到除master.
我希望user1能够推送到任何分支(包括master),除了master.

我该怎么做?

4

2 回答 2

1

这应该解决两个问题:

repo arepo
  RW          = @developer
  -  master$  = @developer

  RW                     = user1
  - master and VREF/NAME/adirectory = user1

访问规则和refex页面解释了 /refs/head/master 分支如何被拒绝推送 @developer

Virtual Refs 'NAME '允许您拒绝推送给定目录或文件。

Drew Lesueur在评论中补充道:

  - master VREF/NAME/adirectory = user1

它似乎不是在做一个“和”条件,而是一个“或”对我们来说——master VREF/NAME/adirectory = user1
我最终为我需要的东西编写了一个自定义 VREF 脚本

我确认,在这种情况下,只有自定义 VREF 才能满足 OP 的要求,直到 gitolite 3.5(以及 ' and' 的引入):参见sitaram (creator of gitolite)'s answer

于 2013-06-04T18:54:49.327 回答
1

从 v3.5 开始,您可以这样做:

(1) 添加这一行

'refex-expr',

文件中的 ENABLE 哈希内的.gitolite.rc某处。

(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 gitolite 邮件列表是有关 gitolite 问题的正确位置。

然而,有人向我指出了这一点,因为它引用了一个最近的特性,我想我会加入。

-- 西塔拉姆

于 2013-06-07T17:50:09.310 回答