尝试将运行SVN和WebDAV的开发服务器中的SVN repo文件导出到在hostgator帐户上运行的舞台服务器时,出现以下错误。
以下是完整错误:
svn: PROPFIND request failed on '/svn/egr/trunk'
svn: PROPFIND of '/svn/egr/trunk': 301 Moved Permanently (http://some.no-ip.info)
这是我正在使用的SVN命令:
svn export http://some.no-ip.info/svn/egr/trunk . --force --username myusername
我的WebDAV虚拟主机配置如下所示:
<VirtualHost *:80>
ServerName some.no-ip.info
DocumentRoot /var/svn/
<Directory /var/svn/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alias /svn "/var/svn/"
<Location "/svn">
DAV On
DavDepthInfinity on
SVNParentPath /var/svn/
AuthType Basic
AuthName "SVN Login"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
</VirtualHost>
在你问之前我打算将它用于/ var / svn中已经存在的多个项目,所以这就是我尝试使用SVNParentPath进行配置的原因。关于这个错误,谷歌回来了相当多的东西,但没有一个解决方案似乎适合我。
答案 0 :(得分:1)
好的,我终于解决了这个问题。我将所有SVN / WebDAv配置移出我的虚拟主机配置,使其看起来像这样:
<VirtualHost *:80>
ServerName myhost.no-ip.info
ServerAdmin webmaster@localhost
ServerAlias egr.localhost
DocumentRoot /var/svn/egr/trunk
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
Options Indexes None
</VirtualHost>
然后我进入/etc/apache2/mods-available/dav_svn.conf并按如此配置:
<Location /svn>
DAV svn
SVNParentPath /var/svn/
AuthType Basic
AuthName "SVN Repo"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
我无法通过远程(以及本地svn客户端)访问我的SVN仓库,并且还可以通过HTTP渲染文件。