svn:E200030:数据库磁盘映像格式不正确
偶尔我会尝试提交一个文件并收到错误:svn:E200030:数据库磁盘映像格式不正确,svn,Svn,偶尔我会尝试提交一个文件并收到错误: Transmitting file data .svn: E200030: Commit failed (details follow): svn: E200030: database disk image is malformed 建议运行以下命令: $ sqlite3 .svn/wc.db "pragma integrity_check" ok 我这样做,只得到以下几点: $ sqlite3 .svn/wc.db "pragma integrity
Transmitting file data .svn: E200030: Commit failed (details follow):
svn: E200030: database disk image is malformed
建议运行以下命令:
$ sqlite3 .svn/wc.db "pragma integrity_check"
ok
我这样做,只得到以下几点:
$ sqlite3 .svn/wc.db "pragma integrity_check"
ok
相同的答案建议将新副本签出到不同的目录,而不是将.svn
目录复制回当前目录。我也尝试了这个,但得到了相同的错误:
$ svn co $URL /tmp/svn-tmp
$ rm -rf .svn
$ cp -r /tmp/svn-tmp/.svn .
$ svn ci -F svn-commit.txt
Transmitting file data .svn: E200030: Commit failed (details follow):
svn: E200030: database disk image is malformed
我通常可以将问题追溯到我试图提交的单个文件,并且通常需要删除或替换该文件中的单个字符;通常是空白。即使文件只在OS X和Linux上编辑,而不是在Windows上编辑,也会发生这种情况。该问题发生在不同的系统和SVN的不同版本(1.7和1.8)上
最近我注意到,如果我试图在两个不同的系统(一个OS X,一个Linux)和两个不同版本的SVN(分别为1.8和1.7)上对同一个文件(一个package.json)进行相同的更改(将数字3替换为数字4),那么这两种情况下都会出现问题
我还能做些什么来诊断这些问题吗?以前有人问过这个问题: 答案是: 对sqlite数据库进行完整性检查,以跟踪 存储库(/.svn/wc.db): 这应该会报告一些错误 然后,您可以通过执行以下操作来清理它们:
sqlite3 .svn/wc.db "reindex nodes"
sqlite3 .svn/wc.db "reindex pristine"
如果之后仍然有错误,您仍然可以选择
将存储库的新副本签出到临时文件夹,然后
将.svn文件夹从新副本复制到旧副本。然后是老人
复制应该可以再次工作,您可以删除临时文件夹
OP已经提到了问题和答案。建议运行以下。。。。它似乎没有解决这个问题,所以问题仍然存在。