Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
svn:E200030:数据库磁盘映像格式不正确_Svn - Fatal编程技术网

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已经提到了问题和答案。建议运行以下。。。。它似乎没有解决这个问题,所以问题仍然存在。