【Subversion】svn: unrecognized url scheme for ”(svn: ” 用の URL スキームを認識できません)
問題
普段は問題なく更新、コミットできていた作業コピーで、ある日突然こんなエラーが出たら。
$ svn update --username=guest /path/to/source svn: Unrecognized URL scheme for ''
日本語の場合は
$ svn update --username=guest /path/to/source svn: '' 用の URL スキームを認識できません
「svn: Unrecognized URL scheme for ”」のクォーテーションの中が空なのがポイント。原因はさておき、おそらく作業コピーが壊れている。
状況としては、こんな感じのとき。
- 作業コピー全体の同期化ができない
- あるディレクトリは問題なく同期化、更新、コミットできる。
- ある特定のディレクトリで例のエラーが発生し、同期化、更新、コミットできない。
解決案
- 解決案1
- 可能なら、改めてチェックアウトしなおす。作業コピーが壊れたのだから仕方ない。
- 解決案2
-
チェックアウトし直しができない環境の場合は、ちょっと手間だが作業コピーを手で直す。
- 問題が発生するディレクトリを特定する。
- 別の場所に、同じリポジトリからチェックアウトして、作業コピーをもうひとつ作る。
- 問題となっているディレクトリの内容が、先ほどチェックアウトした作業コピーのものと同じであることを確認する(差異があるとまた面倒)。違いがあったら手作業で内容を一致させる。
- 問題となっているディレクトリを、チェックアウトしなおした新しい作業コピーの同じディレクトリと差し替える。
これで通常通り同期化、更新、コミットできる(かもしれない)。
ディレクトリの差し替えも難しいときは、.svnディレクトリだけ差し替えても大丈夫かもしれない。
メモ
エラーメッセージのクォーテーションの中が ‘https://~~~’ や ‘http://~~~’ などの場合はneonがない、ライブラリがない、対応していないプロトコルなどの問題。
コメント