2

我们想启动两个新的开发项目:Project1Project2. 我们有两组开发人员:

  • GroupA应该对这两个项目具有完全(读+写)访问权限,并且
  • GroupB应该无权访问Project1,但可以完全访问Project2

我按照Jeff Atwood 的教程成功地在 Windows Server 2003 上安装了subversion 1.7.6作为 Windows 服务。我通过添加文件夹和文件并提交更改来测试系统,并且一切正常(客户端是TortoiseSVN 1.7.9)。

不幸的是,我无法弄清楚如何在authz. 开发人员可以连接到服务器,但Authorization failed在尝试提交某些内容时会收到消息。

提前谢谢你的帮助。

4

1 回答 1

4

我建议您阅读SVNBook(带有 Subversion 的版本控制)请参阅描述基于路径的授权的章节。我认为这一章回答了你的问题。

下面提供了示例authz文件。请注意,我没有在存储库目录上为GroupB明确设置“禁止访问”规则。我将“所有人”的根节点设置为“无访问权限” ,然后此权限将由其子项继承,除非您明确提供对文件夹或文件的访问权限。/repo/Project1

[/]
*=

[groups]
GroupA=john,sally
GroupB=harry,george

[repo:/Project1]
@GroupA=rw

[repo:/Project2]
@GroupA=rw
@GroupB=rw

我想指出,如果您使用VisualSVN 服务器管理器,您可以大大简化管理 SVN 用户权限的过程。

它提供了舒适的 UI 来管理用户权限,您会发现这非常有用:VisualSVN 服务器管理器

2016 年更新

要管理托管在 VisualSVN Server 上的 SVN 存储库的访问规则,您现在可以使用与 VisualSVN Server 一起打包的 PowerShell cmdlet。从 3.4 版开始,VisualSVN Server 包含 PowerShell 模块,可以帮助您完成此任务。您正在寻找的 cmdlet 是

阅读文章KB88:VisualSVN 服务器 PowerShell Cmdlet 参考以获取 VisualSVN 服务器 PowerShell cmdlet 的完整列表。

于 2012-10-09T13:28:30.263 回答