svn执行clean up 操作时报错 "Previous operation has not finished; run cleanup if it was interrupted"

本文介绍了一种解决SVN在执行cleanup操作时出现死锁的方法。通过清理SQLite数据库中的work_queue表,成功解决了SVN无法正常工作的难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在项目中更新的时候,突然间爆了一个svn的这个错误,当时提示我去clean up操作,结果我执行clean up操作时候,还是报错,网上查找资料原来是使svn进入了死循环的状况,我把如何解决这个冲突的问题分享给大家,希望对遇到此问题的同学们有所帮助!

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

1.先去下载一个  sqlite3.exe ;

2.将下载好的 sqlite3.exe 文件放到 .svn 的同级目录下;

3.然后启动cmd命令执行找到你的 sqlite3.exe 接下来执行 sqlite3 .svn/wc.db "select * from work_queue"; 回车操作

4.然后会显示看到很多的记录,接下来执行 sqlite3 .svn/wc.db "delete from work_queue"; 【把队列清空】 回车操作

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

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值