使用WebDAV的Apache上的Subversion存储库,301错误

时间:2012-10-25 10:23:52

标签: apache svn webdav

自从我的linux发行版更新为openSUSE 12.2后,我的Subversion存储库停止运行。检查它们或浏览浏览器完全没问题,但是提交不起作用。当我尝试提交更改时,客户端会给我:

svn: E175011: Commit failed (details follow):
svn: E175011: Repository moved permanently to 'https://example.org/repo/main/!svn/me'; please relocate
svn: E175011: Your commit message was left in a temporary file:

在网络服务器上,我看到类似的内容:

1.2.3.4 - - [25/Oct/2012:12:11:22 +0200] "OPTIONS /repo/main/trunk/eManager HTTP/1.1" 401 401 "-" "SVN/1.7.7 neon/0.29.6"
1.2.3.4 - my_user [25/Oct/2012:12:11:22 +0200] "OPTIONS /repo/main/trunk/eManager HTTP/1.1" 200 195 "-" "SVN/1.7.7 neon/0.29.6"
1.2.3.4 - - [25/Oct/2012:12:11:22 +0200] "POST /repo/main/!svn/me HTTP/1.1" 301 - "-" "SVN/1.7.7 neon/0.29.6"

注意:第一个请求仅适用于基本身份验证。我的配置(在启用SSL的VHost中,自上一个发行版以来未更改)如下:

# main svn repo
<Location /repo/main>
    DAV svn
    SVNPath /srv/svn/main

    # Require SSL connection for password protection.
    SSLRequireSSL

    AuthType Basic
    AuthName "Enter password"
    AuthUserFile /srv/config/.htpasswd-main
    Require valid-user

    #test
    ErrorDocument 404 default
</Location>

我已经阅读过几十个主题,没有任何可行的解决方案。我用 svnadmin 升级了subversion结构,我确保(通过grep'ing)没有其他别名/位置设置为/ repo(这是最常见的建议)。

2 个答案:

答案 0 :(得分:0)

无法回想起我开始以这种方式写位置的时间和原因,但是 - 至少301错误我没有遇到麻烦:

  • 在位置定义中,我使用尾随/
  • SVN(父级)?路径还使用尾随/
  • 定义

答案 1 :(得分:0)

解决方法:我终于找到a helpful thread,至少描述了一种解决方法。我将此添加到我的配置中并再次提交作品:

SVNAdvertiseV2Protocol off

但这并不完美,我仍然很欣赏更好的答案。