svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法

问题描述

从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,解压到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 操作,问题解决。

 

参考:http://www.cnblogs.com/simmonner1999/p/5533465.html

         http://blog.csdn.net/superch0054/article/details/38668017

posted @ 2017-06-10 13:36  明志健致远  阅读(58565)  评论(2编辑  收藏  举报