在更新代码时蓝屏死机了。
再重启之后svn项目就被锁定了,无法进行修改和更新,经过百度各种方法逐一尝试最后成功解决了这个问题,现在就记录一下以后可能遇到的问题和解决办法。
先说一下我遇到的问题吧,更新之后汇报一个错误,其中一部分错误提示“disk image is malformed“(磁盘映像格式不正确),网上有几个解决办法:
一:
1、找到项目中.svn文件夹,这是一个隐藏的文件夹,可在文件中点击查看(左上角位置),点击隐藏的项目前面的单选框会显示一个√,这样就可以看到.svn文件。
2、复制别人的.svn文件中的wc.db进行覆盖(没实际检验)
二:(实际检验好使)
1、windows需要下载一个sqlite3,经过链接去找Precompiled Binaries for Windows下面的sqlite-tools-win32-x86-3300100.zip不用管32位还是64位,放到一个你能找到的文件夹中。**(操作之前一定要做好备份wc.db,以防万一),找到sqlite3.exe文件复制到.svn下面,与wc.db处于同一级别目录。
2、打开命令行,进入.svn文件夹下,依次执行对应命令(括号内是对应的翻译,不是命令)
sqlite3 wc.db "pragma integrity_check" (完整性检查)
sqlite3 wc.db "reindex nodes"(重新索引节点)
sqlite3 wc.db "reindex pristine"(重建原始索引)
3、找到被锁定的项目文件右键,找到tortoiseSVN中清理功能(英文版是从上数第八个),勾选上破除写锁,点击确定。
4、再次更新应该就好使了。
项目被锁并且路径乱码等问题解决方法:(这里的锁指的是非人为原因的锁定,比如在上传或者更新代码时死机,断网,断电导致的)
1、找到被锁的项目,右键找到tortoiseSVN的清理,额外勾选破除、修复、刷新,在更新看是否解决了。
2、上面解决不了,下载sqlite3(其余的数据库相关软件navicat也可以),上面有链接,将sqlite3复制到.svn项目下,与wc.db同一目录下,做好备份,通过命令行进入.svn目录下,执行
sqlite3 wc.db;
select * from work_queue;
delete from work_queue;
再进行清理,然后进行更新或者上传。
3、不想再.svn文件中直接修改的,可以复制wc.db文件放到下载的sqlite3.exe文件中,与sqlite3.exe同一级别,之后进行上面的操作,将最后得到的wc.db覆盖掉.svn中的wc.db,再进行清理,更新或者提交。