0

自从将我的 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>

我已经阅读了许多关于此的主题,但没有任何可行的解决方案。
我已经升级了 subversion 结构,svnadmin并且我确保(通过 grep'ing)没有其他 Alias/Location 设置为 /repo(这是最常见的建议)。

4

2 回答 2

0

解决方法:我终于找到了一个有用的线程,它至少描述了一种解决方法。我将此添加到我的配置中并再次提交工作:

SVNAdvertiseV2Protocol off

不过,这并不完美,我仍然希望有更好的答案。

于 2012-10-25T11:13:35.473 回答
0

不记得我何时以及为什么开始以这种方式写位置,但是 - 我至少没有遇到 301 错误:

  • 在位置定义中,我使用尾随 /
  • SVN(Parent)?Path 也用尾随 /
于 2012-10-25T11:00:24.853 回答