自从我的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(这是最常见的建议)。
答案 0 :(得分:0)
无法回想起我开始以这种方式写位置的时间和原因,但是 - 至少301错误我没有遇到麻烦:
答案 1 :(得分:0)
解决方法:我终于找到a helpful thread,至少描述了一种解决方法。我将此添加到我的配置中并再次提交作品:
SVNAdvertiseV2Protocol off
但这并不完美,我仍然很欣赏更好的答案。