30.3 Gitolite授权详解
30.3.1 授权文件的基本语法
下面看一个不那么简单的授权文件。为方便描述添加了行号。
1 @admin=jiangxin wangsheng 2 3 repo gitolite-admin 4 RW+=jiangxin 5 6 repo ossxp/.+ 7 C=@admin 8 RW=@all 9 10 repo testing 11 RW+=@admin 12 RW master=junio 13 RW+pu=junio 14 RW cogito$=pasky 15 RW bw/=linus 16 -=somebody 17 RW tmp/=@all 18 RW refs/tags/v[0-9]=junio
在上面的示例中,演示了很多授权指令:
第1行,定义了用户组@admin,包含两个用户jiangxin和wangsheng。
第3~4行,定义了版本库gitolite-admin。并指定只有用户jiangxin才能够访问,并拥有读(R)写(W)和强制更新(+)的权限。
第6行,通过正则表达式定义了一组版本库,即在ossxp/目录下的所有版本库。
第7行,用户组@admin中的用户,可以在ossxp/目录下创建版本库。创建版本库的用户,具有对版本库操作的所有权限。
第8行,所有用户都可以读写ossxp目录下的版本库,但不能强制更新。
第10行开始,定义的testing版本库授权使用了引用授权语法。
第11行,用户组@admin对所有的分支和里程碑拥有读写、重置、添加和删除的授权。
第12行,用户junio可以读写master分支。(还包括名字以master开头的其他分支,如果有的话。)
第13行,用户junio可以读写、强制更新、创建及删除pu开头的分支。
第14行,用户pasky可以读写cogito分支。(仅此分支,精确匹配)。
