目前,我们只看过了许可是R,RW, 或者RW+这样子的。但是gitolite还允许另外一种许可:-,代表 ”拒绝“。这个给了你更多的能力,当然也有一点复杂,因为不匹配并不是唯一的拒绝访问的方法,因此规则的顺序变得无关了!
这么说好了,在前面的情况中,我们想要工程师可以rewind任意branch除了master和integ。 这里是如何做到的
[code]RW master integ = @engineers
- master integ = @engineers
RW+ = @engineers
[/code]
你再一次简单跟随规则从上至下知道你找到一个匹配你的访问模式的,或者拒绝。非rewind push到master或者integ 被第一条规则允许。
一个rewind push到那些refs不匹配第一条规则,掉到第二条,因此被拒绝。任何push(rewind或非rewind)到参考或者其他master或者integ不会被前两条规则匹配,即被第三条规则允许。