从SVN上拉下来Document文档(word和excel),在本地修改后,准备通过TortoiseSVN提交,发现报错。
Error: Previous operation has not finished; run 'cleanup' if it was interrupted 。
无论是commit还是updete都不行,提示需要执行clean up 。但svn执行clean up命令时报错 "Previous operation has not finished; run 'cleanup' if it was interrupted"。 无论你到那个父层次的目录执行 "clean up",都是报一样的错。
问题原因
可能是修改本地的文件之前没有update,导致commit的时候产生冲突,致使SVN崩溃。
解决方法
方法一:
备份自己修改的文件,删除之前download的文件,重新从SVN上download一份到本地。这样太耗时,不方便。
方法二:
后上网搜索,svn 的 operation是存放在 "work queue" 里的。而 "work queue" 是在内嵌数据库 wc.db 的 work_queue 表中的。看看work_queue表中放了些什么,再做处理。
1. 到网上下载sqlite3.exe,(http://www.cr173.com/soft/6852.html)解压到D:\document\.svn文件夹下,解压后的sqlite3.exe才475KB大小。
说明:D:\document\.svn 这个路径是你从SVN上拉下来的代码或文件的本地路径。.svn文件夹默认是隐藏不可见的,需要设置可见:工具 - 文件夹选项 - 查看 - 隐藏文件和文件夹。
2. 运行cmd,进入到D:\document\.svn文件夹下,执行sqlite3 wc.db,打开数据库
3. 执行.table 可以查看表名
4. 执行delete from work_queue; 命令。
5. 重试 clean up 操作,问题解决。