2010-05-31 132 views
1

我已经运行在Windows Server 2008上运行的Apache 2.2下一个SVN仓库结构:如何配置目录/存储库的SVN访问列表?

http://example.com/svn/是有针对性地e:\svn(根)

http://example.com/svn/dir/是有针对性地e:\svn\dir(某些目录与多个存储库)

http://example.com/svn/dir/repo/的目标地址为e:\svn\dir\repo(一个存储库本身)

如何访问列表@foorw访问repo

我下次访问列表:

[groups] 
@foo = user1, user2 

[/] 
* = r 

[dir/repo:/] 
@foo = rw 

最后的字符串不我试图

任何组合的工作

的Apache的conf是未来:

<Location /svn> 
    SVNParentPath "E:\SVN" 

    DAV svn 
    SVNListParentPath on 
    AuthType Basic 
    AuthName "Subversion repositories" 
    Require valid-user 

    AuthUserFile svn-auth.txt 
    AuthzSVNAccessFile svn-acl.txt 
</Location> 

<Location /svn/dir/> 
    SVNParentPath "E:\SVN\Dir" 

    DAV svn 
    SVNListParentPath on 
    AuthType Basic 
    AuthName "Subversion repositories" 
    Require valid-user 

    AuthUserFile svn-auth.txt 
    AuthzSVNAccessFile svn-acl.txt 
</Location> 

<Location /svn/dir2/> 
    SVNParentPath "E:\SVN\Dir2" 

    DAV svn 
    SVNListParentPath on 
    AuthType Basic 
    AuthName "Subversion repositories" 
    Require valid-user 

    AuthUserFile svn-auth.txt 
    AuthzSVNAccessFile svn-acl.txt 
</Location> 

回答

2

如果你已经配置了这作为

<Location /dir> 
    SVNParentPath e:\svn\dir 
    AuthzSVNAccessFile e:\accesslist.txt 

那么你可能只是想

[repo:/] 

因为访问列表将相对于e:\ svn \ dir。如果没有,你可以发布<位置> snippet for e:\ svn \ dir?谢谢!

+0

PS:'[回购:/]'不起作用。也许我必须为根目录下的每个目录创建一个单独的访问列表文件? (我有一个''与不同'SVNParentPath'的号码) – abatishchev 2010-05-31 12:33:22

+0

谢谢 - 这一切对我来说都不错: - /对不起,有一件事我以前没有发现:我认为这只是“foo = user1,user2”而不是组定义中的“@foo =”,或者至少我们只使用@作为目录权限行。我仍然认为这只是[repo:/]没有在您的<Location/svn/dir>引用的svn-acl.txt中的目录。 在我发布之前没有看到您的PS - 我想不是。如果这样做不起作用,我就不知道了,对不起: -/ – Rup 2010-05-31 12:40:18

+0

我设置了分隔的访问列表文件到Dir(svn-access-dir.txt),其中设置了相对规则并且它工作,即'[repo:/] '。但它非常有趣 - 是否有可能为所有子目录创建一个文件? – abatishchev 2010-05-31 12:44:34