2008-09-28 87 views
2

如果我使用多個存儲庫,所有位於單個根文件夾下,我如何設置它,以便他們將使用單個主文件進行設置,但仍允許我自定義每個文件夾需要出現?多個存儲庫,單一設置

這是在Windows上,但我想這個過程在其他系統上會類似。

更新:我使用svnserve作爲服務。

+0

您可能需要考慮在http://serverfault.com上發佈此類服務器配置類型問題,而不是像堆棧溢出一樣,服務器管理除外。 – jpierson 2009-12-08 16:03:24

+0

2008年,當我發佈這個時,SO是城裏唯一的遊戲,它比系統管理員問題更像是一個開發人員問題。 – 2009-12-09 10:55:53

回答

2

svnserve不適用於大型部署。如果您需要更細粒度的權限或集成等,請使用Web服務器(如Apache)。

1

如果您正在使用svnserve,則每個存儲庫中的conf/svnserve.conf文件都有一個配置項,該配置項命名密碼數據庫文件。這是[general]部分中的password-db項目,只需將它們全部設置爲指向同一個文件即可。

如果你不使用svnserve,那麼這可能不適用。

1

根據你想要達到的目標和你正在使用的設置有不同的方法。

的svnserve

如果使用svnserve,還有在每個被稱爲svnserve.conf在那裏你可以使用定義的密碼文件庫中的文件。您可以在服務器根目錄中放入一個密碼文件,並將所有存儲庫指向那裏。

它應該是這樣的:

c:\svn\passwd 
c:\svn\project1\conf\svnserve.conf 
c:\svn\project2\conf\svnserve.conf 

然後在這兩個svnserve.conf文件,如

[general] 
password-db = c:\svn\passwd 

段應該做的伎倆,並仍將保持不同的ACL(authz文件),每個倉庫

Apache

這是一個比較複雜一點,但

<Location /project1> 
    DAV svn 
    SVNPath C:/Repositories/project1 

    AuthType Basic 
    AuthName "Subversion Project1 repository" 
    AuthUserFile c:/etc/svn-auth-file 

    Require valid-user 

    AuthzSVNAccessFile c:/etc/svn-acl 
</Location> 
<Location /project2> 
    DAV svn 
    SVNPath C:/Repositories/project2 

    AuthType Basic 
    AuthName "Subversion Project2 repository" 
    AuthUserFile c:/etc/svn-auth-file 

    Require valid-user 

    AuthzSVNAccessFile c:/etc/svn-acl 
</Location> 

只要你使用相同的AuthUserFile每個啓用SVN的位置,你會得到你的結果。