2010-05-31 48 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