SVN「database disk image is malformed」エラーの対処法

svn update したときに

svn: E200030: sqlite[S11]: database disk image is malformed
svn: E200042: Additional errors:
svn: E200030: sqlite[S11]: database disk image is malformed

というエラーが出たとき。
wc.dbというデータベースファイルが破損しているので、修復する。

$ cd .svn
$ file wc.db

wc.db: SQLite 3.x database, user version 31

user versionをメモしておく。

$ cp wc.db wc.db.org
$ sqlite3 wc.db .dump | sqlite3 wc_new.db
$ sqlite3 wc_new.db

sqlite> PRAGMA user_version = 31;
sqlite> PRAGMA user_version;
31
sqlite> .exit

$ mv wc_new.db wc.db

これで修復される。
user_versionをセットしないとsvn upで今度は「assertion failed (format >= 1)」というエラーが出るようになるので注意。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.