首页 文章

SVN存储库的细粒度权限

提问于
浏览
4

我正在尝试为一大堆用户设置一个SVN repo . 不同的用户需要对存储库的区域具有不同级别的访问权限 . 一个简单的例子可能是前端工程师需要访问“视图”和“控制器”而不是“模型”,而后端工程师需要访问“控制器”和“模型”而不是“视图” .

它需要是一个存储库,因为(据我所知),这是确保提交触摸多个模块的唯一方法是原子的 .

是否有一种细粒度的方法来控制用户对存储库的访问?

谢谢!

2 回答

  • 4

    您可以使用基于路径的授权 . 您可以为文件中的每个路径定义读取或写入权限;权限是继承的 .

    例如,使用组(@groupname):

    # Everyone get read access
    [/prj1/trunk]
    @backend = R
    @frontend = R
    
    #Specific rights
    [/prj1/trunk/model]
    @backend = RW
    
    [/prj1/trunk/controllers]
    @backend = RW
    @frontend = RW
    
    [/prj1/trunk/view]
    @frontend = RW
    

    您可以从svnserve.conf或httpd.conf引用此文件 . (有关完整说明,请参阅上一个答案中的参考 . )

  • 2

    是的,您可以在SVN中使用path-based authorization,但我会高度反对它 .

    首先,当您打开它时,它会对您的存储库的性能产生重大影响 . 其次,仅仅因为前端开发人员“只需要”访问视图和控制器,他们正在处理的功能中发生了什么需要更改模型?要么他们自己进行更改并将其与更新一起提交,要么他们要求“模型”开发人员执行此操作,并且需要额外的一天来组织所有内容 .

    只要你有代码审查到位,就没有必要加上额外的箍 .

    即使你不相信前端开发人员在没有适度的情况下也不会踩到其他人的脚趾,那么你真的相信他们可以做任何事情吗?

相关问题