svn: Previous operation has not finished; run 'cleanup' if it was interrupted错误彻底解决方法

版权声明:哈哈哈 https://blog.csdn.net/qq_39454048/article/details/84028091

昨天使用svn客户端提交代码时,遇到一个很奇怪的问题,代码无法提交,提示有文件重复冲突,删除文件后重新update也出现同样错误,使用cleanup也会报错Previous operation has not finished; run ‘cleanup’ if it was interrupted,后来没办法就重新建立文件夹,重新checkout一份代码,可以正常使用。但是总感觉这个解决方法不彻底,于是就找到了如下彻底的解决方案: 
SVN的操作是存放在“work queue”表里面的,而“work queue”是在内嵌数据库wc.db中的一个表,我们可以先查看一下该表有什么数据,查询出来的数据即是操作队列阻塞的数据; 
1.SVN内嵌数据库wc.db一般是由SQLite进行管理的,SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。根据系统版本下载SQLite32位或者64位的exe客户端,然后cmd进入到svn项目根目录,即.svn文件夹平级的目录,并将刚下载的sqlite3.exe文件复制到该目录下,执行如下查询:

sqlite3 .svn/wc.db "select * from work_queue"


2.执行work queue表清空操作,使用如下语句

sqlite3 .svn/wc.db "delete from work_queue"
Paste_Image.png


最后,再次执行查询,查询出来的结果为空,说明表清空操作执行成功。 

 

猜你喜欢

转载自blog.csdn.net/qq_39454048/article/details/84028091