##環境
Windows7 TortoiseSVN 1.9.4
##現象
クリーンアップが失敗するようになりました。
何度実行しても同じエラーでとまります。
Previous operation has not finished; run 'cleanup' if it was interrupted
チェックアウトしなおすと
エラー sqlite[S5]: database is locked
エラー Additional errors:
エラー sqlite[S5]: database is locked
他のプロセスが作業コピーデータベースをブロックしているか、使用しているファイルシステムがファイルのロックをサポートしてないかです。
もし作業コピーがネットワーク上のファイルシステムにあるのであれば、ファイルサーバーがファイルのロックをサポートしているかどうかを確認してください。
何度チェックアウトしても同じように失敗します。
##対処
作業コピーデータベースがロックが残ってしまうのが原因のようです。
ロックを外して対処します。
SVNのメタデータである.svn/wc.dbを直接編集します。
こちらはsqlite形式で書かれているので、sqliteを使用します。
- sqlite3をダウンロードし、.svn/wc.dbの場所に移す。
- コンソールを起動し、該当箇所に移動します。
- sqlite3 wc.db .tablesを実行します。 WC_LOCK、WORK_QUEUEが表示されることを確認します。
- sqlite3 wc.db --header "select * from WORK_QUEUE"
- sqlite3 wc.db --header "select * from WC_LOCK"
- 何かしらのデータが残ったままだった場合、テーブルごと消します。
- sqlite3 wc.db "delete from WORK_QUEUE"
- sqlite3 wc.db "delete from WC_LOCK"
再度クリーンアップを実行します。
ロックが外れたのでうまく行くはずです。
こちらを参考にしました。
[Windows][Subversion]svn commitに失敗してcleanupもできない
Working copy XXX locked and cleanup failed in SVN