事件起因
昨天下午更新代码前执行 update 然后报了错,如下:
svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
提示让执行cleanup,然后执行cleanup失败。
解决方案
今天上班写了会代码去update才想起这个事。然后就是谷歌(百度)。
网上有种说法是: svn提交遇到恶心的问题,可能是因为上次cleanup中断后,进入死循环了。
解决方法:清空SVN的队列
- 下载sqlite3.exe
- 找到你项目的.svn文件,查看是否存在wc.db
- 将sqlite3.exe放到.svn的同级目录
- 启动cmd执行 sqlite3 .svn/wc.db “select * from work_queue”
- 看到一些记录,下一步执行 sqlite3 .svn/wc.db “delete from work_queue”
- 现在在到项目里面,执行cleanup,完全没问题了,图标状态也已经恢复了。
- 没有装图片插件,提供不了图片,遗憾。
回忆
事后想了下问题出现的原因
- 打开svn下文件,开始工作。我打开的是axure。
- 准备更新,axure打开的文件未关闭。
- 在这段时间内,正好其他同事对该文件进行了删除操作,其他操作可能会出现文件合并的情况。然后svn罢工了。
- 准备commit,开始update,报错。
收获
只有不断的踩坑,才会成长。可以说这次动手解决SVN的报错对我很有意义。