我正在尝试为一大群用户设置一个SVN代码库。不同的用户需要对存储库区域具有不同级别的访问权限。一个微不足道的例子可能是前端工程师需要访问“视图”和“控制器”而不是“模型”,而后端工程师需要访问“控制器”和“模型”而不是“视图”。
它需要是一个存储库,因为(据我所知)这是确保涉及多个模块的提交是原子的唯一方法。
有没有一种细粒度的方法来控制用户对存储库的访问?
谢谢!
发布于 2010-05-24 08:33:20
您可以使用基于路径的授权。您可以为文件中的每个路径定义读或写权限;权限是继承的。
例如,使用组( @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引用此文件。(有关完整描述,请参阅上一答案中的参考。)
发布于 2010-05-24 08:29:57
是的,您可以在SVN中使用path-based authorization,但我强烈建议您这样做。
首先,当你打开它时,它对你的存储库的性能有很大的影响。其次,仅仅因为前端开发人员只“需要”访问视图和控制器,那么他们正在开发的功能中会发生什么需要对模型进行更改?要么他们自己做更改,并将其与他们的更新一起提交,要么他们请一个“模型”开发人员来做这件事,这需要额外的一天来组织一切。
只要你已经准备好了代码审查,就没有必要再做额外的工作了。
即使您没有进行代码审查,提交历史记录也能够告诉您谁对代码的哪一部分进行了更改。如果你真的不相信你的前端开发人员不会在没有节制的情况下踩到别人的脚趾,那么你真的相信他们会做任何事情吗
https://stackoverflow.com/questions/2894098
复制相似问题