在gitolite中,我想将所有允许任何repo的用户授予RW CD到他们的个人分支.换句话说:应该允许任何被允许RW项目的人创建分支,但只能在他们的个人命名空间中.
我明白我基本上可以这样做:
repo some-repo
RW+CD = admin
RW = foo frob
R = bar
RW+CD dev/USER/ = foo frob #admin
但这意味着我必须基本上复制每个仓库的用户列表.虽然这对于少量的回购是可以的,但一旦回购或用户数量上升,它肯定会变得难看.
我想过这样的事情:
repo @all
RW+CD dev/USER/ = @all
但这似乎至少给所有项目的所有用户提供了读访问权限,即使他们没有其他读取权限.
什么是最好的解决方案?
最佳答案 一种解决方案是使用
wildcard repo or “wildrepo”在每个用户的单个仓库中管理这些分支:
详见“user gitolite doc”:
Note that “
CREATOR
” is a reserved word that gets expanded to youruserid
in some way, so the admin can literally add just the first two lines, and every authenticated user now has his own personal repo namespace, starting withpub/<username>/
这里提到的前两行是:
repo pub/CREATOR/..*
RW+ = CREATOR
完成后,任何用户都可以:
>将另一个仓库添加为远程
>在新的孤儿分支中导入(获取)他选择的分支(参见“In git, is there a simple way of introducing an unrelated branch to a repository?”,
>在该分支中读/写.
>如果他/她被允许,请回到初始回购.