仅向一个分支机构授予Gitolite许可 [英] Gitolite permissions only to one branch

查看:19
本文介绍了仅向一个分支机构授予Gitolite许可的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对gitolite权限有些困惑。

只允许一个分支并拒绝特定用户或组的所有其他分支的最佳方式是什么?

推荐答案

参见&Quot;partial-copy: selective read control for branches

要点是:

Git(因此也就是沸石)不能进行选择性读取控制--允许用户读取分支A,但不能读取分支B
要么全部回购,要么不回购

Gerrit Code Review可以做到这一点,但那是因为他们有自己的Git(以及他们自己的sshd,等等)。如果代码审查是您访问控制决策的一部分,那么无论如何您都应该考虑Gerrit.

您询问时得到的标准答案是使用单独的报告(其中一个包含所有分支,另一个包含分支的子集)。
这在理论上很好,但在实践中,当人们可能同时使用这两个Repos时,您需要弄清楚如何使它们保持同步。

沸石现在可以帮助您做到这一点。请注意,这仅适用于分支;您不能对文件和目录执行此操作。

方法如下:

  • 在rc文件的ENABLE列表中启用‘partial-copy’。

  • 对于具有某一组开发人员(我们将使用名为@temp-emp的组)不应该看到的秘密分支的每个存储库foo&q;执行以下操作:

     repo foo
         # rules should allow @temp-emp NO ACCESS
    
     repo foo-partialcopy-1
         -   secret-branch               =   @temp-emp
    
         # other rules; see notes below
    
         -   VREF/partial-copy           =   @all
         config gitolite.partialCopyOf   =   foo
    

重要说明:

  • 如果您正在使用其他VREF,请确保将此VREF放在所有其他VREF之后的末尾。
  • 请记住,允许对部分副本回购进行的任何更改都将传播到主回购,因此请确保根据需要使用其他规则将推送限制到其他分支和标记。

这篇关于仅向一个分支机构授予Gitolite许可的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆