我有2个git repos,其权限与此类似:
repo myrepo
RW+ = admin
RW user1$ = user1
RW user2$ = user2
RW user3$ = user3
RW user4$ = user4
用户数量相当高(目前约为100)并且还在增长。为了避免维护两个列表的权限,我想知道repos之间是否存在某种继承或者是否在用户之间进行循环 可能(我试图搜索http://gitolite.com/gitolite/#documentation和stackoverflow)
是否可以执行类似配置repo2
具有与repo1
相同的权限和/或在循环中执行每个用户/分支的权限?
答案 0 :(得分:2)
至少,要考虑的第一件事是用户组的概念:您可以在两个repo中使用一个组,并更新该组的用户列表一次。
@developers = user1 user2 user3
repo myrepo
RW+ = admin
RW = @developer
repo myrepo2
RW+ = admin
RW = @developer
之后,要真正扩展,您可以定义该组,以便从user referential like LDAP自动获取其内容。
GROUPLIST_PGM => '/home/git/bin/ldap-query-groups',
您将不再需要修改gitolite-admin
回购。
我需要的是组中的每个人都有自己的分支(分支名称==用户名)。
这称为"personal" branches in Gitolite:
“个人”分支机构非常适合开发人员需要共享工作但不能直接相互吸引的环境(通常是由于网络或身份验证相关的原因,这两者在公司设置中都很常见)。
个人分支存在于自己的命名空间中。语法是:
RW+ personal/USER/ = @userlist
其中“
personal
”可以是您喜欢的任何内容(但不能为空),并且“/USER/
”部分是必要的(包括两个斜杠)。用户“
alice
”(如果她在用户列表中)可以推送personal/alice/
内的任何分支(即,她可以推送personal/alice/foo
和personal/alice/bar
,但不是personal/alice
)。
答案 1 :(得分:0)
只需添加@VonC的优秀答案,您也可以将您的回购分组。
@developers = user1 user2 user3
@cust1repos = myrepo myrepo2
repo @cust1repos
RW+ = admin
RW = @developer
这基本上是这里的第一个例子http://gitolite.com/gitolite/conf/