LinuxディストリビューションをopenSUSE12.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:
Webサーバーでは、次のようなものが表示されます。
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によって)他のAlias /Locationが/repoに設定されていないことを確認しました(これは最も頻繁な提案でした)。