如何在apache dav svn中指定存储库?

时间:2009-03-23 14:26:56

标签: svn apache mod-dav-svn dav

我有以下设置:

<VirtualHost *:80>
    ServerName svn.project1.com

    <Location />
       DAV svn
       SVNPath /svn
    </Location>
</VirtualHost>


<VirtualHost *:80>
    ServerName svn.project2.com

    <Location />
       DAV svn
       SVNPath /svn
    </Location>
</VirtualHost>

当我导航到http://svn.project1.com/http://svn.project1.com/时,它会给出包含两个存储库的目录列表:

Revision 1270: /

* project1/
* project2/

Powered by Subversion version 1.4.4 (r25188)

如何让两台主机指向各自的存储库?

我希望能够使用以下网址:

http://svn.project1.com/trunk/

而不是:

http://svn.project1.com/project1/trunk/

因此阻止访问例如来自project1的project2即:

http://svn.project1.com/project2/

谢谢!

4 个答案:

答案 0 :(得分:3)

这适用于SVNPath /svn/project#。但请注意,我认为这只有在您真正拥有两个单独的存储库时才有效。据我所知,您可以在两个项目中使用一个存储库。

答案 1 :(得分:1)

<Location /svn/>
     DAV svn
     SVNParentPath "D:\repos"
     SVNListParentPath On
     AuthName "Subversion repository"
     SVNPathAuthz on
     AuthType SSPI
     SSPIAuth On
     SSPIAuthoritative On
     SSPIDomain RAILINC
     SSPIOfferBasic On
     SSPIUsernameCase lower
     SSPIOmitDomain On
     AuthzSVNAccessFile "D:\repos\svnaccessfile.txt"
     Require valid-user
</Location>

答案 2 :(得分:0)

不确定,但你试过这个吗?

SVNPath /svn/project1/

答案 3 :(得分:0)

使用

SVNPath /svn/projectX/

应该解决你的问题,这将在DavSVN中暴露出一个严重的缺陷。存在于域的根目录时存在问题的缺陷。目前无法获得解决方案的随机签入错误是一个问题,我们不得不从子域切换到子目录。