SVN Previous operation has not finished; run ‘cleanup‘ if it was interrupted

SVN cleanup出现下面的提示:

svn: E155017: Can’t install ‘*’ from pristine store, because no checksum is recorded for this file

svn报错:“Previous operation has not finished; run ‘cleanup’ if it was interrupted“
解决办法
 当遇到这个问题解决不了之后去百度查了一下,结果大部分都是让安装一个叫做 sqlite3.exe 的内嵌数据库,安装之后使用命令将 work_queue 表中保存的工作队列清除,但是按照教程一顿操作之后还是没有解决问题。

其实原因很简单,就是因为要更新的目录中有打开的文件没有关闭,所以才会出现这种错误。很多时候只要将需要更新的目录中已经打开的所有文件都关掉,再执行更新就可以了。

当然也不排除工作队列满的情况,这种情况下就需要使用 sqlite3.exe 进行清除工作队列的操作了。建议以后碰到这个错误时先检查一下是不是有还在打开的相关文件,将打开的相关文件全部关闭之后再试一下。 这样在某些特殊情况下(比如工作电脑无法连接外网)就可以大大减小工作量了。

最简单直接的办法
 先备份一下需要改动的文件,然后直接把整个目录删掉重新拉一遍。这样就不存在问题了,可以愉快的继续操作了。
sqlite3解决:
当回到最上层目录都无法clean up时,需要用sqlite3对工程目录下.svn/wc.db的数据库文件进行以下操作 ,步骤如下:

首先进入到当前项目的隐藏文件夹 .svn 中。 然后鼠标右键, “在此处打开 powerShell”, 之后执行命令

sqlite3 ./wc.db
select * from work_queue;
delete from work_queue;
————————————————

官网链接如下

你可能感兴趣的:(svn)