svn报“Previous operation has not finished; run 'cleanup' if it was interrupted”的错误

一、叙述

今天需要更新接口文檔,所以就update了一下,結果報了如下錯誤:

     Error : Previous operation has not finished; run 'cleanup' if it was interrupted.
     Error : Please execute the 'Cleanup' command.
于是就去执行 Cleanup命令,但是又报错了,说文档拒绝访问。
 
查到相关信息说针对新版的,要勾选break locks(解决方法之一)

勾选了以后发现,等待它执行了很久,还是给了报错,依旧是文档拒绝访问。也许别人这样做就成功了呢,反正我是没成功。

下图为在网上找的旧版svn的cleanUp界面,

二、解决方案(二)——使用db管理工具sqlite3

我们错误的提示是:“Previous operation has not finished”,出现这个问题的说法是,Svn的operation是存放在本地.svn\wc.db数据库文件里面,即在内嵌数据库wc.db的work_queue表中的,而operation没有结束。所以我们需要使用sqlite来操作。

sqlite是一个常用的嵌入式数据库,就是一个db文件。

1、在网上下载下载db管理工具sqlite3

2、将sqlite3.exe放置到对应cleanup异常的svn项目下的.svn文件夹下,如下图:

需注意的是,.svn默认是隐藏的,我们需要勾选将其显示出来。

3、在.svn目录下打开cmd命令

4、输入输入sqlite3 wc.db

5、输入 .table 查看所有表:会看到WORK_QUEUE

6、删除WORK_QUEUE表:输入delete from work_queue;

(在这里需注意要加分号!因为现在输入的是sql语句,结尾要加;(分号)才算完整 ,否则就进入…>的状态)

7、可以查看是否删除成功:输入select * from work_queue;

(我第一遍删除后查看发现WORK_QUEUE依旧存在,所以就又执行了一次delete语句)

8、 最后在出现问题的目录下,鼠标右键找到clean up,去执行Cleanup命令,如下图。

9、clean up成功

 补充:其他解决方案(三)

看到有人使用sqlite清空这种方法不起作用,给出了另一个解决方案。

将.svn文件删除,重新checkout工程下来。在这里可以保留当前已有的项目代码,说svn在checkout过程中检测到已有文件存在时不会再重新下载,下载速度会比较快一些。但是这样感觉还是不太好,万一checkout的文件出现问题,倒不如全部删除项目,完完全全的checkout一份下来。

 

转载于:https://www.cnblogs.com/songForU/p/10724932.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值