概要
Tortoise SVNでチェックアウトやコミット、更新などの処理をしたときに、以下のようなエラーが表示されるときの対策です。
..............\.svn\tmp\entries' から ..............\.svn\entries' にファイル名を変更できません: ファイルまたはディレクトリが壊れているため、読み取ることができません。
原因1 インデックスサービス
Tortoise SVNのチェックアウト先フォルダがWIndowsのインデックスサービスの処理対象になっているとエラーになります。
確認する場合、コントロールパネルからインデックスのオプションを選択し、インデックスサービスを一時停止します。
これで再度Tortoise SVNの処理を実行してエラーが発生しないようならインデックスサービスが原因です。
特に大量のファイルをまとめてチェックアウトしたときに発生しがちです。
追記:本家サイトによると、Windows7 SP1で上記の問題は解決されたようです。
2011/05/10 追記:Windows7 SP1にてエラーが発生しないことを確認しました。
原因2 Kaspersky
KasperskyがTortoiseSVNの処理を阻害することがあります。
Kaspersky2010の場合、アプリケーションコントロールの設定画面から「Tortoise」で始まる2つのプログラムの除外ルールを設定します。
チェックアウトで毎回失敗していて、リトライを繰り返してなんとか完了させていました。インデックスサービスが原因とは全く気付きませんでした。
助かりました。