且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-01-01 07:53:10

        之前也遇到过这个问题,不过让朋友帮忙解决的。这次又碰上了,记不起怎么弄的来了。

 

 


  这是在网上查的方法。

  本地.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,打开数据库

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

           

        2. 执行.table 可以查看表名

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

    

    附:本地在下面附了该内容,奈何太小,糙心的马哥,竟然看不到,只能加上这个图了,,在这个delete之前先查看一下WORK_QUEUE与WC_LOCK两个表是否有内容,如果没有的话,能操作也没有多大意义了。同时说明一下在一次操作中只清除了WORK_QUEUE,去提交,结果还是提示Lock。后来实验了一下先清除work_queue,再清除wc_lock,去提交就没事了。

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

        3. 执行delete from work_queue; 命令。

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

 

         4. 重试 clean up 操作,问题解决。

 


  在网上查了很多,但大部分和上面这个内容相似(这个写的比较清晰),把这个贴出来。(就个人的问题而并没有解决)

  个人建议在delete from work_queue之前,先进行select该表,删除之后,也select一下。

 

 

  抱着实在弄不好,就重新checkout 的心态。

  就把每个有问题的文件进行Revert。操作时发现有个文件显示没有lock,可每次操作都显示已被Lock。

  当把wc_lock表select的时候,发现一条lock记录。(总算是找到了问题的关键)

  删除这条记录, 再去操作就一切OK了!