今天碰到了个郁闷的问题,svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”。无论你到那个父层次的目录执行“clean up “,都是报一样的错。执行cleanup时候,提示要cleanup。看来是进入死循环了。

可能是频繁做了一些改名,文件打开的时候更新或者提交操作,导致svn罢工了。这个也该算是svn的bug吧。类似的情况,其实之前也碰到过。之前都是图省事,把整个svn checkout的主目录都删掉,重新checkout来解决的。但是随着项目的深入开展,要更新的文件越来越多。这个问题迟早要解决的,试试看吧。问题的关键看来需要找到死锁的地方,解锁才行。网上查了下资料。Svn的operation是存放在“work queue’“里的。而“work queue’是在内嵌数据库wc.db的work_queue表中的。看看work_queue表中放了些什么,再做处理。

1.    内嵌数据库一般是用sqlite进行轻量级管理的。网上可以下到sqlite-shell-win32-x86: sqlite3.exe

2.    为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。

3.    执行  sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是刚才我执行的一些操作。

226539|(sync-file-flags 93目录名 文件名)

226540|(file-remove 21 .svn/tmp/svn-7B43C232)

226541|(sync-file-flags 目录名 文件名)

226542|(file-remove 21 .svn/tmp/svn-7B48224E)

4.    执行  sqlite3 .svn/wc.db "delete from work_queue". 把队列清空。

5.    执行 sqlite3 .svn/wc.db "select * from work_queue". 确认一下是否已经清空队列,发现已经没有记录显示,说明已经清空了。

6.    最后再试一下,看是否可以  clean up了。果然成功了。

另外还有一种方法别人也推荐,但因为这个成功了就没再试。就是使用命令行工具svn.exe 执行cleanup svn项目目录。因为默认安装的时候,这个命令行工具是不被安装的,所以需要启动安装程序,选择”修改“,选上”命令行工具“才行。估计这个命令的实际效果和上面一种方法是类似的。不过应该比图形界面的右键菜单的更强大些吧。有兴趣可以试试。

顺便补充一下, sqlite是一个非常常用的嵌入式数据库,就是一个db文件。像手机qq等这些软件都会内置一个这样的数据库进行多条数据的管理。

cleanup failed to process the following paths:xxx 
Previous operation has not finished; run 'cleanup' if it was interrupted

解决方法有两个,一个是用sqlite清除下数据库wc.db的work_queue,这种网上说的比较多。我说下第二种方法:这个需要svn客户端的命令行

打开安装包,选Modify

勾选下Command

工作目录下输入svn cleanup

收工,可以update和commit了

最新文章

  1. Java Thread 多线程 介绍
  2. EF框架学习
  3. HDU 5950 矩阵快速幂
  4. [转]Ubuntu 常用快捷键10个
  5. append some buttons to the standard datagrid pager bar
  6. HDU P4578 Transformation
  7. C++拾遗(六)函数相关(1)
  8. 判断iOS设备是否越狱
  9. JSON对象与JSON数组的长度和遍历方法
  10. 玩转Web之Json(一)-----easy ui+ajax + json 中关于Json的解析问题
  11. Learning to Rank算法介绍:GBRank
  12. 南阳OJ-12-喷水装置(二)贪心+区间覆盖
  13. [转帖]Windows 上面IE的历史
  14. global的使用
  15. Finance API文档
  16. Python2018-字符串中字符个数统计
  17. shell printf命令:怎样格式化输出语句
  18. POJ 3243 // HDU 2815(改下输出,加个判断)
  19. mysqli扩展库的预处理
  20. 十张GIFs让你弄懂递归等概念

热门文章

  1. 【原】使用Eclipse远程Debug测试环境
  2. netty-socketio 示例代码
  3. [原创]互联网金融App测试介绍
  4. MongoDB的Java驱动使用整理 (转)
  5. UIScrollView 遇到的小坑
  6. JVM菜鸟进阶高手之路
  7. Revit API创建一个拷贝房间内对象布局命令
  8. delphi Image处理
  9. WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?
  10. 在Visual Studio中使用用例图描述参与者与用例的关系