今天快速操作删除文件的时候出现了一个问题,导致代码无法提交和得代码。并且svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”。执行“clean up “,都是报一样的错。执行cleanup时候,提示要cleanup。
网上查了下资料。Svn的operation是存放在“work queue’“里的。而“work queue’是在内嵌数据库wc.db的work_queue表中的。看看work_queue表中放了些什么,再做处理。
这个数据库就在项目的.SVN目录下
需要借助一个轻量级数据库来查看和修改数据库 sqlite3就行
我之前的sqlite3已经在环境文件配置了
可以直接在数据库目录下执行cmd命令,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。
1执行 sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是刚才我执行的一些操作。
2. 执行 sqlite3 .svn/wc.db "delete from work_queue". 把队列清空。
3. 执行 sqlite3 .svn/wc.db "select * from work_queue". 确认一下是否已经清空队列,发现已经没有记录显示,说明已经清空了。
4. 最后再试一下,看是否可以 clean up了。果然成功了。
另一种快速解决办法
直接找到你文件所在的svn目录下 尝试着clean up 一下