LoginSignup
23
21

More than 5 years have passed since last update.

svn creanupが作業コピーデータベースのロックで失敗する

Last updated at Posted at 2016-07-07

環境

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を使用します。

  1. sqlite3をダウンロードし、.svn/wc.dbの場所に移す。
  2. コンソールを起動し、該当箇所に移動します。
  3. sqlite3 wc.db .tablesを実行します。 WC_LOCK、WORK_QUEUEが表示されることを確認します。
  4. sqlite3 wc.db --header "select * from WORK_QUEUE"
  5. sqlite3 wc.db --header "select * from WC_LOCK"
  6. 何かしらのデータが残ったままだった場合、テーブルごと消します。
  7. sqlite3 wc.db "delete from WORK_QUEUE"
  8. sqlite3 wc.db "delete from WC_LOCK"

再度クリーンアップを実行します。
ロックが外れたのでうまく行くはずです。

こちらを参考にしました。
[Windows][Subversion]svn commitに失敗してcleanupもできない
Working copy XXX locked and cleanup failed in SVN

23
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
21