最近在更新SVN上的ISO代码时,失败报错: Failed to run the WC DB work queue associated with “目录/文件”,clean up同样报错。最后在网上找到了解决方案并解决了问题,解决方法如下:
一、安装sqlite3
1 下载
我是window10 32位,下载以下文件:
1.下载 sqlite-dll-win32-x86-3140100
2.下载 sqlite-tools-win32-x86-3140100
官方下载地址:https://www.sqlite.org/download.html
2 安装
(1)先在C盘建一个文件夹 sqlite
(2)把 sqlite-dll-win32-x86-3140100 中解压出来的两个文件(sqlite3.def 和 sqlite3.dll)复制到刚才新建的目录(C:\sqlite)中
(3)把 sqlite-tools-win32-x86-3140100 中解压出来的文件 sqlite3.exe 复制到C:\sqlite 目录中
(4)添加系统环境变量, 在Path变量值后面添加 C:\sqlite(windows7系统不要忘记分号),如下图所示:
(5)验证是否安装完成。运行cmd,切换到C盘根目录,输入sqlite3,然后回车,如果安装成功的话,会显示sqlite版本号,如下图所示:
OK,Sqlite3已经安装完成了。
二、解决过程
- 打开cmd,进入到需要清理目录的.svn目录中,查看是否存在wc.db文件
C:\WINDOWS\system32>e:
E:\>cd E:\yscit\workspace\coding\96_IOS\.svn
E:\yscit\workspace\coding\96_IOS\.svn>dir
驱动器 E 中的卷没有标签。
卷的序列号是 A05F-0B3D
E:\yscit\workspace\coding\96_IOS\.svn 的目录
2021/06/15 14:26 3 entries
2021/06/15 14:26 3 format
2021/06/15 14:26 <DIR> pristine
2021/06/15 14:31 <DIR> tmp
2021/06/15 14:31 671,744 wc.db
2021/06/15 14:31 0 wc.db-journal
4 个文件 671,750 字节
2 个目录 47,469,176,320 可用字节
2.用sqlite3打开wc.db文件
E:\yscit\workspace\coding\96_IOS\.svn>sqlite3 wc.db
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
3.看看wc.db里面都有哪些表(非必要):
sqlite> .table
ACTUAL_NODE NODES PRISTINE WC_LOCK
EXTERNALS NODES_BASE REPOSITORY WORK_QUEUE
LOCK NODES_CURRENT WCROOT
sqlite>
4.接下来我们要做的就是对NODES、WORK_QUEUE、WC_LOCK进行清理。
# 看看有啥,非必要
sqlite> select * from NODES where local_relpath like '%*%';
# 1|src/path/to/136*12.png|0|src/path/to|1|dpath/to/136*12.png|12487|normal|||file|(svn:mime-type application/octet-stream)||$sha1$a6ab08429621146c6f3d2aeb3b246b7daa2e1c5f||10739|1563264828707442|提交人帐号|||||
# 1|src/path/to/136*12-hover.png|0|src/path/to|1|path/to/136*12-hover.png|12487|normal|||file|(svn:mime-type application/octet-stream)||$sha1$42fa4db5041d07f474d15c6b426e08de87f32d61||10739|1563264828707442|提交人帐号|||||
# 清理它,必要
sqlite> delete from NODES where local_relpath like '%*%';
sqlite> delete from WORK_QUEUE;
sqlite> delete from WC_LOCK;
执行完上面三条清理命令后再svn update检出就ok了,有多少个这类文件上面步骤就要重复多少次(裂开.jpg)。大家如有什么更好的解决方法,欢迎评论区留言交流。
参考资料:
1.解决SVN Cleanup错误: Failed to run the WC DB work queue associated with