您的位置:首页 > 运维架构

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

2017-10-17 12:43 666 查看
昨天使用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"




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

到此,该问题彻底解决,备注一下,给碰到类似问题的同学。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐