我自己的 Subversion 服务器出了点问题。在 Web 视图上没有问题,但如果有人想通过客户端签出,他会收到以下消息:
svn:存储库永久移动到“XYZ”;请重新定位
显示的“新”位置(XYZ)与我在参数中提交的完全相同。
我的设置:
<VirtualHost *:80>
DocumentRoot /var/www/htdocs/svn
<Directory /var/www/htdocs/svn/>
Options SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<Location /repos/>
DAV svn
SVNParentPath /var/www/htdocs/svn/repos
SVNListParentPath On
SVNAutoversioning On
SVNIndexXSLT /svnindex.xsl
SetOutputFilter DEFLATE
AuthzSVNAccessFile /var/www/config/svn.authz
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /var/www/config/svn.passwd
Require valid-user
ModMimeUsePathInfo On
</Location>
</VirtualHost>
再次:我可以通过 webservice 查看/下载我的存储库/文件,但无法通过客户端签出。
答案1
看起来/var/www/htdocs/
是 Apache 的文档根目录。如果是这样,那么这种行为的原因就是因为 Apache 不知道是否要为物理路径提供服务,还是将请求传递给mod_dav_svn
。解决方案是将根 svn 移到 Apache 文档根目录之外,例如:
<Location /repos/>
DAV svn
SVNParentPath /home/svn/repos
...
</Location>