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文件外的其他文件具有写权限。