30.4.8 对路径的写授权

Gitolite也实现了对路径的写操作的精细授权,并且非常巧妙的是:在实现上增加的代码可以忽略不计。这是因为Gitolite把路径当作是特殊格式的引用的授权。

在授权文件中,如果一个版本库的授权指令中的正则引用字段出现了以NAME/开头的引用,则表明该授权指令是针对路径进行的写授权,并且该版本库要进行基于路径的写授权判断。

示例:


1 repo foo

2 RW=@junior_devs@senior_devs

3

4 RW NAME/=@senior_devs

5 -NAME/Makefile=@junior_devs

6 RW NAME/=@junior_devs


说明:

第2行,初级程序员@junior_devs和高级程序员@senior_devs可以对版本库foo进行读写操作。

第4行,设定高级程序员@senior_devs对所有文件(NAME/)进行写操作。

第5行和第6行,设定初级程序员@junior_devs对除了根目录的Makefile文件外的其他文件具有写权限。