gitolite:允许任何回购RW+;CD到其个人分支机构,不允许其他人

gitolite:允许任何回购RW+;CD到其个人分支机构,不允许其他人,git,gitolite,Git,Gitolite,在gitolite中,我想将任何repo to RW+CD的所有允许写入的用户授予他们的个人分支。换句话说:任何允许RW项目的人都应该被允许创建分支,但只能在其个人名称空间中创建分支 我知道我基本上可以这样做: repo some-repo RW+CD = admin RW = foo frob R = bar RW+CD dev/USER/ = foo frob #admin

在gitolite中,我想将任何repo to 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
但这意味着,我必须在每次回购交易中复制用户列表。虽然这对于少量回购协议来说是可以的,但一旦回购协议或用户数量增加,它肯定会变得难看

我想到了这样的事情:

    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
但这似乎至少让所有项目上的所有用户都有读权限,即使他们没有读权限


最好的解决方案是什么?

一种解决方案是在每个用户的单个回购中管理这些分支机构,使用:

如“”所述:

请注意,“
CREATOR
”是一个保留字,以某种方式扩展到您的
userid
,因此管理员可以直接添加前两行,每个经过身份验证的用户现在都有自己的个人repo命名空间,从
pub/

这里提到的前两行是:

repo pub/CREATOR/..*
    RW+     =   CREATOR
完成后,任何用户都可以:

  • 将另一个回购协议添加为远程
  • 在新的孤立分支中导入(获取)他选择的分支(请参见“”
  • 读/写那个分支
  • 如果他/她被允许,推回到初始回购