多个存储库,单个设置
时间:2020-03-06 14:50:31 来源:igfitidea点击:
如果我使用多个存储库,所有存储库都位于单个根文件夹下,那么如何设置它,以便它们将使用单个主svnconf
/passwd
文件进行设置,但是如果需要,我仍然可以自定义每个存储库?
这是在Windows上,但是我想该过程在其他系统上将是相似的。
更新:我正在使用svnserve作为服务。
解决方案
如果使用的是svnserve,则每个存储库中的conf / svnserve.conf文件都有一个配置项,该配置项命名密码数据库文件。这是[general]
部分中的password-db
项,只需将它们全部设置为指向同一文件即可。
如果我们不使用svnserve,则可能不适用。
svnserve不适用于大型部署。如果我们需要更多细粒度的权限或者集成等,请使用Web服务器(如Apache)。
可以使用不同的方法,具体取决于我们要实现的目标和所使用的设置。
保留
如果使用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"文件)
阿帕奇
有点复杂,但是
<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>
只要对每个启用了SVN的位置使用相同的authuserfile,就可以得到结果。