SVN clean失败解决方法

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

《SVN clean失败解决方法》

可能是频繁做了一些改名,文件打开的时候更新或者提交操作,导致svn罢工了。这个也该算是svn的bug吧。类似的情况,其实之前也碰到过。之前都是图省事,把整个svn

checkout的主目录都删掉,重新checkout来解决的。但是随着项目的深入开展,要更新的文件越来越多。这个问题迟早要解决的,试试看吧。问题的关键看来需要找到死锁的地方,解锁才行。网上查了下资料。Svn的operation是存放在“work queue’“里的。而“work queue’是在内嵌数据库wc.db的work_queue表中的。看看work_queue表中放了些什么,再做处理。

【解决】  清空svn的队列

(1) 下载sqlite3.exe

  【注】Step1:到 sqlite官网 (http://www.sqlite.org/download.html) 下载 sqlite3.exe;找到Precompiled Binaries for Windows,点击 sqlite-tools-win32-x86-xxxxxxx.zip 下载。

(2) 找到你项目的.svn文件,查看是否存在wc.db

(3) 将sqlite3.exe放到.svn的同级目录

(4) 动cmd执行sqlite3 .svn/wc.db “select * from work_queue”

《SVN clean失败解决方法》

(5)最后一步执行 sqlite3 .svn/wc.db  “delete  from work_queue”  即可大功告成

    原文作者:zhengLH
    原文地址: https://www.jianshu.com/p/f4f863700bed
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞