SVN错误-disk image is malformed


在更新代码时蓝屏死机了。

再重启之后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,再进行清理,更新或者提交。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM