svn:E155037:以前的操作还没有完成;如果被打断,请运行'cleanup'

时间:2014-06-18 16:35:19

标签: svn

我最近做了结帐并且操作停止了,所以我做了一个控制-c来取消。从目录中删除文件(包括.svn目录)后,我尝试再次检出并收到以下错误:

svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

查看其他帖子,最可能的解决方案是在当前工作副本中进行SVN清理,但是,我尝试签入的目录甚至不是工作副本。事实上,如果我创建一个新文件夹并尝试从那里结账,我会得到相同的消息。如果我从这个目录中进行svn清理,我会收到预期的错误消息:

svn: E155007: 'C:\Users\workspace\project1' is not a working copy directory.

是否有SVN使用的全局数据库需要刷新?我正在使用Windows 7,我安装了Tortoise SVN,但我使用CollabNet Subversion命令行客户端v1.8.9(适用于Windows)进行所有操作。但我确实清除了与Tortoise SVN相关的所有日志文件。

3 个答案:

答案 0 :(得分:5)

实际上只是通过查看这里找到了我的问题的答案。

似乎svn陷入了旧操作。所有这些操作都存储在wc.db文件夹中的数据库.svn中。

将SQLite下载到我的结帐目录并从cmd运行:

sqlite3.exe .svn/wc.db "select * from work_queue"

我得到了所有待处理操作的列表。这些操作是“未完成”的操作。然后运行:

sqlite3.exe .svn/wc.db "delete from work_queue"

所有这些待处理的操作都被删除了,我可以再次提交。 无需重新结账或其他任何事情。

答案 1 :(得分:2)

好的,所以当我在停止后取消结帐操作时,由于某种原因,.svn目录被放在我的C:\目录中。从C:\中删除.svn目录解决了我的问题。

答案 2 :(得分:1)

运行清理

对于我在Top Nav<<中的版本(我的SVN)动作/清理工作警察锁。

enter image description here