Home > TortoiseSVN

TortoiseSVN

tortoise SVNでコミットやチェックアウトがエラーになる時の対策

概要

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つのプログラムの除外ルールを設定します。

TortoiseSVN 使用時の注意事項(VisualSouceSafeより移行した人向け)

Windows版のTortoiseSVN(+Subversion)を使用するにあたって、つまづきやすい点の解説です。

●フォルダのコピー
すでにバージョン管理対象のフォルダを別のフォルダ内に丸ごとコピーする際は注意が必要です。
フォルダを丸ごとコピーする際は、コピー元のフォルダを右クリックしてtortoiseSVNの「エクスポート」を選択します。

※普通にエクスプローラーからコピー&ペーストしてしまうと、SVNの管理ファイル(.svnフォルダ)ごとコピーしてしまい、コミットができなくなる等の問題が発生します。

●フォルダの圧縮など
すでにバージョン管理対象のフォルダを丸ごとZIPファイルなどに圧縮する際にもコピーと同様の注意が必要です。
事前に圧縮ソフト側の設定で.svnフォルダ以下を対象から外す設定をしておくとうっかりSVNの管理ファイルごと客先に送ってしまうなどのトラブルが防げます。

●間違ってフォルダごとコピーしてしまったときの対処(バージョン管理対象のフォルダからバージョン管理対象のフォルダへのコピー)
そのままではコミットおよび更新がエラーになってしまいますが、以下の手順で復元します。

1. エクスプローラーを起動し、問題のフォルダをバージョン管理対称でないフォルダ(デスクトップでも可)にコピーしてバックアップしておきます。(ただしフォルダ丸ごとはコピーせず、ファイル単位でコピーすること)
2.エクスプローラーで問題のフォルダ(コピー元とコピー先の両方)を削除します。
3.エクスプローラーで問題のフォルダの1階層上のフォルダを右クリックし、「SVN更新」を実行します。
4.これで復元完了ですが、ファイルが古くなってしまった場合には、最初にバックアップしておいたフォルダより、ファイル単位でコピーします。(サブフォルダなどを丸ごとコピーしてしまうと、同じ失敗の繰り返しになるので注意)

Home > TortoiseSVN

Feeds
Meta

Page Top