SVN存储库上的细粒度权限

SVN存储库上的细粒度权限,svn,Svn,我正试图为一大群用户建立SVN回购协议。不同的用户需要对存储库的各个区域具有不同的访问级别。一个简单的例子可能是前端工程师需要访问“视图”和“控制器”而不是“模型”,而后端工程师需要访问“控制器”和“模型”而不是“视图” 它需要是一个存储库,因为(据我所知)这是确保涉及多个模块的提交是原子的唯一方法 是否有细粒度的方法来控制用户对存储库的访问 谢谢 是的,您可以在SVN中使用,但我强烈反对 首先,当您打开存储库时,它对存储库的性能有很大的影响。其次,正因为前端开发人员只“需要”访问视图和控制器,

我正试图为一大群用户建立SVN回购协议。不同的用户需要对存储库的各个区域具有不同的访问级别。一个简单的例子可能是前端工程师需要访问“视图”和“控制器”而不是“模型”,而后端工程师需要访问“控制器”和“模型”而不是“视图”

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

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

谢谢

是的,您可以在SVN中使用,但我强烈反对

首先,当您打开存储库时,它对存储库的性能有很大的影响。其次,正因为前端开发人员只“需要”访问视图和控制器,他们正在处理的功能中发生的事情需要对模型进行更改?要么他们自己进行更改并在更新时提交,要么他们要求“模型”开发人员进行更改,并且需要额外的一天来组织一切

只要你已经准备好了代码评审,就没有必要再做额外的工作了


即使您没有代码审查,提交历史记录也可以告诉您是谁对代码的哪一部分进行了更改。如果您真的不相信前端开发人员在没有节制的情况下不会踩到其他人的脚,那么您真的相信他们会做任何事情吗?

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

例如,使用组(@groupname):


您可以从svnserve.conf或httpd.conf引用此文件。(有关完整的描述,请参见前面答案中的参考资料。)

我认为这属于超级用户。另请参见“大影响”?嗯,其实没那么大。
# 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