アーカイブ

2006 年 8 月 のアーカイブ

SVN ERROR

2006 年 8 月 9 日 件のコメント

Subversion(SVN)リポジトリから更新を実行する際 以下のようなエラーが発生した。

REPORT request failed on ‘/repository/!svn/vcc/default’ REPORT of ‘/repository/!svn/vcc/default’: 200 OK
このような場合、まずは原因の切り分けが必要。 [問題判別] ・別のディレクトリ(もしくは別のマシン)にリソースをチェックアウトして新しく作業コピーを作成し、そこでも同じ現象が起きるか検証する [検証結果1] 新しい作業コピーで問題の現象が発生しないのであれば、リポジトリが破損しているとは考えられない。ローカルの.svn情報が壊れているか、不整合が起こっている可能性がある。 [検証結果1-対処方法] a. 更新を実行した作業コピーより下位の階層で個々の作業コピーに対して更新をかけ、エラーの出所を明らかにする。 b. 更新エラーが発生する作業コピーが特定できたら、そのディレクトリ名をリネームし、再度更新を実行する。(エラーが発生するディレクトリのみチェックアウトしなおすのと同じ) c. 正常に更新できればOK [検証結果2] 新しい作業コピー(もしくは別のマシン)で問題の現象が発生するのであればリポジトリが破損している可能性がある。 a. svnadmin verify でリビジョンの状態をチェックし、エラーの発生リビジョンを特定する。(“svn: Can’t read file ‘/xxxxx/svn/svndb/db/revs/3000′: 入力/出力エラーです”といったメッセージが表示される) b-1. バックアップを取っているのであれば、svnadmin loadコマンドなどで壊れる前のリビジョンまで復元する。 b-2. バックアップを取っていない場合、下記の方法で無理矢理復活できるかもしれませんが、推奨できない方法。at your own lisk で対処する事。 $repository/db/revs にある破損したリビジョン以降のリビジョンファイルを削除する $repository/db/revprops にある1で削除したものと同じリビジョンファイルを削除する $repository/db/current を編集して、破損したリビジョンに変更


カテゴリー: Development タグ: , ,