如果我使用多个存储库,所有位于单个根文件夹下,我如何设置它,以便他们将使用单个主文件进行设置,但仍允许我自定义每个文件夹需要出现?多个存储库,单一设置
这是在Windows上,但我想这个过程在其他系统上会类似。
更新:我使用svnserve作为服务。
如果我使用多个存储库,所有位于单个根文件夹下,我如何设置它,以便他们将使用单个主文件进行设置,但仍允许我自定义每个文件夹需要出现?多个存储库,单一设置
这是在Windows上,但我想这个过程在其他系统上会类似。
更新:我使用svnserve作为服务。
svnserve
不适用于大型部署。如果您需要更细粒度的权限或集成等,请使用Web服务器(如Apache)。
如果您正在使用svnserve,则每个存储库中的conf/svnserve.conf
文件都有一个配置项,该配置项命名密码数据库文件。这是[general]
部分中的password-db
项目,只需将它们全部设置为指向同一个文件即可。
如果你不使用svnserve,那么这可能不适用。
根据你想要达到的目标和你正在使用的设置有不同的方法。
的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的位置,你会得到你的结果。
您可能需要考虑在http://serverfault.com上发布此类服务器配置类型问题,而不是像堆栈溢出一样,服务器管理除外。 – jpierson 2009-12-08 16:03:24
2008年,当我发布这个时,SO是城里唯一的游戏,它比系统管理员问题更像是一个开发人员问题。 – 2009-12-09 10:55:53