SVN 405错误:无法获取资源信息

时间:2014-04-09 20:47:48

标签: apache svn commit svn-server

亲爱的Stackoverflow社区! 最近我的svn服务器坏了,我几乎尝试了所有的东西,但我不能让它再次工作。

操作系统:Raspbian

我做了什么: 安装包:

apt-get install subversion libapache2-svn apache2 mysql-server

Enabeling dav_svn:a2enmod dav_svn

创建存储库:

$ mkdir -p /opt/svn/project1
$ mkdir -p /opt/svn/project2

添加它们:

$ svnadmin create --fs-type fsfs /opt/svn/project1
$ svnadmin create --fs-type fsfs /opt/svn/project2`

设置所有者:

$ chown -R www-data:www-data /opt/svn

创建用户:

$ sudo htpasswd /etc/apache2/dav_svn.passwd weini

创建的存储库文件:

mkdir -p /tmp/projet1/trunk
mkdir -p /tmp/projet1/branches
mkdir -p /tmp/projet1/tags
mkdir -p /tmp/projet2/trunk
mkdir -p /tmp/projet2/branches
mkdir -p /tmp/projet2/tags

创建/etc/apache2/mods-enabled/dav_svn.conf文件:

<Location /svn/>
        DAV svn
        SVNParentPath /opt/svn/
        SVNListParentPath On
        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
</Location>

导入它们:注意通过http://访问存储库不起作用;通过file://工作

Error: svn import /tmp/project1 http://localhost/svn/project1 -m "initialer Import" 
Error: svn import /tmp/project2 http://localhost/svn/project2 -m "initialer Import" 
Works: svn import /tmp/project1 file://opt/svn/project1 -m "initialer Import" 
Works: svn import /tmp/project2 file://opt/svn/project2 -m "initialer Import"`

其他一切都是默认设置!

ERRORMESSAGE:

RA layer request failed
svn: Unable to connect to a repository at URL 'http://server.weini.at/svn/project1'
svn: Server sent unexpected return value (405 Method Not Allowed)  in response to OPTIONS request for 'http://server.weini.at/svn/project1

日志:

no errors

的Apache2 / error.log中:

[Wed Apr 09 22:29:29 2014] [error] [client 192.168.0.1] Could not fetch resource  information.  [-2, #0]
[Wed Apr 09 22:29:29 2014] [error] [client 192.168.0.1] (2)No such file or directory:   The URI does not contain the name of a repository.  [405, #190001]

当我尝试通过我的webbrowser访问存储库时,一切正常:http://i.stack.imgur.com/aNKzw.png

2 个答案:

答案 0 :(得分:6)

尝试注释掉这一行:

SVNListParentPath On

- &GT;

#SVNListParentPath On

(切换到关闭也应该有效)。

然后重启你的apache。

自上次apache升级以来,ParentPath似乎存在问题。

感谢此(德国)帖子: http://forum.ubuntuusers.de/topic/problem-mit-svn-server-nach-apache-update/#post-6513997

问题是,在此设置之后,您的父路径列表无法在浏览器中显示....所以对我而言,这不是最终的解决方案。

干杯, 马库斯

答案 1 :(得分:0)

我注意到的一些事情:

创建存储库:

$ mkdir -p /opt/svn/project1
$ mkdir -p /opt/svn/project2

添加它们:

$ svnadmin create --fs-type fsfs /opt/svn/project1
$ svnadmin create --fs-type fsfs /opt/svn/project2

创建仓库时会创建您的仓库目录:

$ mkdir -p /opt/svn
$ svnadmin create --fs-type fsfs /opt/svn/project1
$ svnadmin create --fs-type fsfs /opt/svn/project2

你也有这个:

创建的存储库文件:

mkdir -p /tmp/projet1/trunk
mkdir -p /tmp/projet1/branches
mkdir -p /tmp/projet1/tags
mkdir -p /tmp/projet2/trunk
mkdir -p /tmp/projet2/branches
mkdir -p /tmp/projet2/tags

您假设使用svn mkdir来创建这些目录。您只是创建了一堆与您的项目无关的目录:

$ svn co http://localhost/svn/project1
$ cd project1
$ svn mkdir trunk branches tags
$ svn commit

或者...

$ REPO=http://localhost/svn/project2
$ svn mkdir $REPO/trunk $REPO/branches $REPO/tags

file://有效,http://表示您遇到Apache问题。更改配置后,您是否重新启动了Apache?

$ /etc/init.d/httpd graceful   # Restarts gracefully...