svn checkout和r-w用于收集子目录

时间:2013-10-05 14:41:12

标签: svn externals authz

我需要为非工程组提供对我们存储库中某些目录的读写访问权限。理想情况下,我希望他们只需要检查这个目录集合,而不是整个树(但这部分不是必需的)。

我无法弄清楚的问题是如何处理这个问题,因为(a)分散在整个存储库中的大量(几乎100个)目录,以及(b)这些目录位于“分支/分支”之下的事实URL路径中的名称'。我有一个标准的回购,下面有树干,分支标签。

我为r-w问题尝试了authz,但似乎我必须使用完整路径。完整路径意味着包括分支信息。我们使用了大量的分支,所以这似乎不切实际。每次我们更换分支时,我都必须更新我的authz文件。

我考虑过使用svn:externals或symlinks将目录组收集到一个空间中。但是,我仍然无法看到如何避免在路径中包含分支信息的问题。

似乎这些解决方案都不允许使用通配符,这可以解决我的问题。也许我错过了什么。

我知道有svnperms.py脚本,但我希望在不使用钩子脚本的情况下解决这个问题。如果必须的话,我会,但是有一个不需要钩子脚本的解决方案吗?

更新 好的,到目前为止没有兴趣,所以我会添加一些关于我正在尝试的细节。

最大的问题是大量的目录(每个目录都称为error_messages),所以如果我能以某种方式巩固它们。我试图通过使用svn:externals来解决这个问题。

project
  \ 
   + branches
     \
      + branchA
       \
        + error_messages <<-- new directory

现在,我将svn:externals prop添加到新的error_messages目录中,并使用相对路径,如下所示:

../path/to/first/error_messages first
../path/to/second/error_messages second
etc.

这非常有助于将所有各种error_messages目录检出到一个位置。但是,它对授权没有帮助。

希望我可以将branchA / error_messages路径添加到authz文件,从而为我的Info团队提供读写访问权限。但是SVN太聪明了,它会检查相对路径的授权。因此,除非我在authz中有路径/ to / first,path / to / second等,否则Info用户将无权访问。

我真的被困了?似乎,要使用此方法,我将不得不向整个存储库提供对Info团队的读写访问权限(至少在authz文件中),然后使用预提交挂钩来限制访问。

顺便说一下,我应该给出一些环境细节:

  • 服务器:Linux,svn 1.7
  • 客户端:Linux svn 1.7,Windows for Info团队,可能是smartSvn 1.7
  • “svn:”protocol,no http
  • SASL进行身份验证

所以,在看到svn:externals不起作用(不实用)后,我想也许我可以创建符号链接。但是,Info团队将使用Windows客户端,因此我认为该解决方案也是不可能的。

0 个答案:

没有答案