SVN使用通配符限制文件访问

时间:2013-03-14 19:48:38

标签: svn authorization collabnet authz

我接管了项目的软件负责人,现在正在管理所述项目的SVN存储库。使用authz文件控制对不同部分的访问。已经为开发人员,潜在客户,测试人员和cm控件设置了组。

我们希望限制访问的多个分支和标记中存在一个文件。为了将其锁定,除了引导组之外,我不想要读取或写入访问权限。有没有办法在没有列出每个分支/标签区域的情况下执行此操作?如果可能的话,我不希望任何人在旧版本中找到它。

我的authz文件的例子在这里:

### Groups
[groups]
developers = user1, user2
leads = fearless_leader

##############################################
### Defaults for all repos in this directory
##############################################
[/]
*=r
@developers = r
@leads = rw
##############################################
### Project repository settings
##############################################
[project_src:/]
@developers = rw
@leads = rw

##############################################
### myPrivateKey.pfx settings
##############################################
[project_src:/project/branches/release1/deploy/licenses/myPrivateKey.pfx]
@developers = 
@leads = rw

我希望我可以使用通配符执行以下操作(但这不起作用):

##############################################
### myPrivateKey.pfx settings
##############################################
[project_src:/project/branches/*/deploy/licenses/myPrivateKey.pfx]
@developers = 
@leads = rw

感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

Subversion的authz文件不支持通配符。就是这么简单。该功能不存在。

您可以使用预先提交的钩子脚本(例如svnperms.py)通过通配符限制,但不能读取访问权限。

答案 1 :(得分:3)

正如@alroc已经回答 - Subversion's path-based authorization自版本1.8起不支持authz文件中的通配符;我怀疑authz文件中的通配符将在即将发布的Subversion 1.9版本中实现,但我们有可能在下一个版本中看到它们。

有一个错误跟踪条目#2662 "authz with wildcards",其目标里程碑为 1.9 - 考虑,但由于Subversion 1.9版本即将发布,我认为您没有看到任何进展不久的将来。