svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“
之前也遇到过这个问题,不过让朋友帮忙解决的。这次又碰上了,记不起怎么弄的来了。
这是在网上查的方法。
本地.svn\wc.db数据库文件里面存储了svn的operation,表名是work_queue。
.db数据库文件可以用sqlite3打开。到网上下载sqlite3.exe,解压到D:\Offsite\.svn文件夹下,解压后的sqlite3.exe才475KB大小。
1. 运行cmd,进入到D:\Offsite\.svn文件夹下,执行sqlite3 wc.db,打开数据库
2. 执行.table 可以查看表名
附:本地在下面附了该内容,奈何太小,糙心的马哥,竟然看不到,只能加上这个图了,,在这个delete之前先查看一下WORK_QUEUE与WC_LOCK两个表是否有内容,如果没有的话,能操作也没有多大意义了。同时说明一下在一次操作中只清除了WORK_QUEUE,去提交,结果还是提示Lock。后来实验了一下先清除work_queue,再清除wc_lock,去提交就没事了。
3. 执行delete from work_queue; 命令。
4. 重试 clean up 操作,问题解决。
在网上查了很多,但大部分和上面这个内容相似(这个写的比较清晰),把这个贴出来。(就个人的问题而并没有解决)
个人建议在delete from work_queue之前,先进行select该表,删除之后,也select一下。
抱着实在弄不好,就重新checkout 的心态。
就把每个有问题的文件进行Revert。操作时发现有个文件显示没有lock,可每次操作都显示已被Lock。
当把wc_lock表select的时候,发现一条lock记录。(总算是找到了问题的关键)
删除这条记录, 再去操作就一切OK了!