3

SVN の奇妙な動作が発生しています。mod_dav、mod_dav_svn、およびSVN 1.5.2を使用して、Apache 2.2.9でSVNリポジトリを実行しています。チェックアウトしようとすると (リモート 1.5.4 クライアントまたはサーバーローカル 1.5.2 クライアント - どちらも「デフォルト」の svn バイナリから)、次のようなメッセージが表示されます。

mx-mac:Test mx$ svn ci -m "" Adding test.txt svn: コミットに失敗しました (詳細は次のとおりです): svn: XML データは整形式ではありませんでした

HTTP 接続を盗聴して分かったのは、リモート SVN リポジトリ (Apache) への 1 つの要求が「ピアによるリセット」で終了し、応答を返さないことです (HTTP Scoop を使用して盗聴しました)。

Apacheの設定に関しては、すべてのモジュールがロードされています。レポに適切な権限が設定され、レポは svnadmin create によって作成され、apache ユーザーに chown されました (とにかく、chmod -R 777 レポ ディレクトリを実行しても機能しませんでした)。

Apache 構成には、認証とともに DAV および SVNPath ディレクティブが含まれています。

数時間試してみた後、私はかなり必死になっているので、誰かがそのような問題に遭遇したことがあるなら、私に知らせてください. どうもありがとう!

4

6 に答える 6

3

最後に、SVN と同じ VirtualHost の .htaccess ファイルで ErrorDocument を再定義すると、無効なデータが SVN クライアントに送信され、何らかの理由でコミット プロセスがインターセプトされることがわかりました。

于 2008-11-22T01:48:49.773 に答える
1

理論的には、このような問題を理解することは教育的ですが、人生は短すぎて、私はすでに他のことの専門家です. : 作業コピーの外に出て、別の場所に新しいディレクトリを作成し、リポジトリから任意のブランチの新しいチェックアウトを作成してから、めちゃくちゃなチェックアウトからコピーして、変更したことがわかっているファイルを手動で更新します。

Apacheに関しては、何の問題もないと思います。失敗したコミットは、ほとんどの場合、リポジトリへの接続以外の原因によるものです。(誰も apache や svn サーバーをいじっていないと仮定します。) 保証はありませんが、フレッシュ チェックアウトとファイルの手動コピーを試みるとうまくいくか、少なくとも新しい診断情報が明らかになるかもしれません。

于 2008-11-22T02:05:30.097 に答える
0

これも私を悩ませていました。ワークスペースを削除して再度チェックアウトすることで解決しました。

于 2010-08-26T13:42:11.040 に答える
0

これは正しい URL を使用してコンテンツをチェックアウトしていないことが原因であることがわかりました。「svn co http://blah.com/stuff_in_here/contents 」などのチェックアウトコマンドを入力したときに、Webサーバーによって提供されるURLを使用していました。使用できる実際のsvnの場所が見つかるまで、URLをいじりましたコマンドラインで「http://blah.com/svn/contents など

于 2009-08-06T02:13:29.797 に答える
0

ダレン、あなたは今のところ正確ではありません。作業コピー、新しいリポジトリなどの可能な組み合わせをすべて試しました。私はほとんどすべてを試しました。最後に、NEON デバッグ メッセージに奇妙なメッセージが 1 つ見つかりました。ホームページに 404 ページが表示されていましたが、ほとんど忘れていました。それから、ずっと前に作成されたように、404ページから不適切なHTTPステータスコード(404ではなく200)を送信したことに気づきました。したがって、NEONはそれを適切な出力と見なして処理し、何らかの形で誤った状態のままにしました。

つまり、今は愚かな Web 開発者 (2003 年の私) によって引き起こされた apache の問題でした... :)

于 2008-11-22T11:41:44.303 に答える