1

Ubuntu 12.04 で新しい Subversion リポジトリをセットアップしようとしていました。おそらく愚かなことに、 PPA リポジトリを使用して subversion を 1.7.5 にアップグレードしました。

現在、TortoiseSVN 1.7.7 を使用してコミットを実行できません。

エラー: コミットに失敗しました (詳細は次のとおりです):
エラー: サーバーは、POST エラーへの応答で予期しない戻り値 (500 内部エラー) を
送信しました: '/usvn/svn/TestThis/!svn/me' の要求 <

どうやら TortoiseSVN 1.7.7 を使用して更新を成功させることができます。
また、TortoiseSVN 1.6.x を使用すると、コミットを成功させることができます。したがって、これは Subversion 1.7 で実装された新しい HTTP プロトコル (冗長?) に関係している可能性があります。

Apache ログは、私にはあまり光を当てませんでした。ただし、失敗したクライアントは POST を試行しますが、動作中の古いクライアントは PUT を実行します。それはクライアントのバージョン間の予想される違いだと思いますか?

192.168.0.25 - admin [21/Jun/2012:20:23:22 -0500] "POST /usvn/svn/TestThis/!svn/me HTTP/1.1" 500 538 "-" "SVN/1.7.5/TortoiseSVN-1.7.7.22907 neon/0.29.6"

192.168.0.20 - admin [21/Jun/2012:17:26:22 -0500] "PUT /usvn/svn/TestThis/!svn/wrk/d8430d5f-d87b-5141-8828-e810dab0904f/trunk/piechart/History.txt HTTP/1.1" 201 591 "-" "SVN/1.6.15 (r1038135)/TortoiseSVN-1.6.12.20536 neon/0.29.5"
4

2 に答える 2

0

アクセス権の権限を自動的に調整するのチェックを外し、もう一度チェックします。このオプションは、リポジトリ プロパティの一般タブで使用できます。

于 2013-02-14T10:06:08.337 に答える
0

したがって、問題は、apache 構成のエイリアスと、エイリアスに少し似ている DAV svn「場所」の組み合わせによってパスが破壊されていたことにあるようです。SVNParentPath がエイリアスのサブディレクトリだったため、Mod_rewrite がパスをめちゃくちゃにしていました。とにかく、古い Tortoise クライアントが機能した理由は少し奇妙です。バージョン 1.7 で実装された httpv2 プロトコルは、リダイレクトの処理が改善されたと主張されています。

とにかく、通常のApacheログは、これを理解するのにほとんど役に立ちませんでした。ログレベルを完全にデバッグしても、この点に関しては冗長ではありません。書き換えログを有効にすることが診断の鍵でした: (httpd.conf)

RewriteLogLevel 3

RewriteLog "/var/log/apache2/rewrite.log"

于 2012-06-23T03:23:51.590 に答える