转自:http://my.oschina.net/sallency/blog/335862 非常感谢博主:优雅的王小贱 知识分享!
在使用svn做项目开发的时候或许不小心就会遇到Previous operation has not finished; run ‘cleanup' if it was interrupted这样的更新错误,而且cleanup命令也会进入恶性死循环,resolved、update命令都会报错提示你去cleanup一下,但cleanup又提示你要么冲突要么过期要求你update一下。
遇到以上问题,不要着急,解决办法是有的,也不麻烦,按照一下步骤你就可以走出这个死循环:
1、下载sqlite3,这是一个命令行实用程序,下载以后放在你的项目的根目录下;
2、你可以事先设置为显示隐藏的文件夹和文件,让项目更目录下的.svn文件夹显示出来,方便啦;
3、win+R输入cmd,切换到你项目根目录(方便你输入命令,如果你喜欢不辞辛苦的一层层的写路径也可以)。
输入:
sqlite3 .svn/wc.db "select * from work_queue"
回车,应该就能看到死循环的原因了,工作队列阻塞了 。
sqlite3 .svn/wc.db "delete from work_queue"
把工作队列清空下,再输入:
sqlite3 .svn/wc.db "select * from work_queue"
正常的话就不会有输出了,这就说明成功了。
OK,然后再cleanup一下就完了,就可以正常的commit&update了。
(备注:以下是我个人在实践过程中的截图)