我有 2 组存储库,web
和engineering
。我大约在 3 个月前设置它web
并且它运行良好,我试图转移到同一个 SVN 服务器,当我尝试进行结帐时engineering
出现错误。PROPFIND of /svn/engineering/main: 405 Method Not Allowed
我可以结账//svn/web
提交
dav_svn.conf
这是该文件中唯一未注释的内容……
<Location /svn/web>
DAV svn
SVNParentPath /var/svn-repos/web
AuthType Basic
AuthName "SVN Repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
<Location /svn/engineering>
DAV svn
SVNParentPath /var/svn-repos/engineering
AuthType Basic
AuthName "SVN Repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
/var/svn-repos/
drwxrwx--- 3 www-data subversion 4096 2010-06-11 11:57 engineering
drwxrwx--- 5 www-data subversion 4096 2010-04-07 15:41 web
/var/svn-repos/web——工作正常
drwxrwx--- 7 www-data subversion 4096 2010-04-07 16:50 site1.com
drwxrwx--- 7 www-data subversion 4096 2010-03-29 16:42 site2.com
drwxrwx--- 7 www-data subversion 4096 2010-03-31 12:52 site3.com
/var/svn-repos/engineering——无法正常工作
drwxrwx--- 6 www-data subversion 4096 2010-06-11 11:56 main
答案1
我认为多个位置相互混淆 - 或者更确切地说,第一个位置正在工作并隐藏第二个位置(您可以通过将工程放在网络之前并查看网络是否仍然有效来证明这一点)。
您可以使用单个位置公开多个存储库:
<Location /svn/>
这将允许您浏览http://website/svn/web
和http://website/svn/engineering
筛选。如果您想在输入时列出它们http://website/svn
,请添加
SVNListParentPath on
答案2
我对 SVN 服务器所做的操作与您基本相同。以下是来自我的 SVN 服务器的 Apache 配置的相关代码片段:
<VirtualHost *:443>
<Location /webdev>
DAV svn
SVNParentPath /usr/local/svn/repos
AuthType Basic
AuthName "WebDev SVN"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /path/to/.htgroup
Require group webdev
</Location>
<Location /appeng>
DAV svn
SVNParentPath /usr/local/svn_appeng/repos
AuthType Basic
AuthName "AppEng SVN"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /path/to/.htgroup
Require group appeng
</Location>
</VirtualHost>
希望这可以帮助。
答案3
记住重新启动 apache 是重要的一步...以此作为如何正确设置 SVN 的主要示例