今天svn更新或还原时遇到了这个问题,记录一下解决过程。
先是遇到svn: E155004: There are unfinished work items in 'x:\xxx\xxx\xx'; run 'svn cleanup' first,然后右键项目总目录,选择Team-->Refresh/Cleanup 时还是报错:There are unfinished work items……run 'svn cleanup' first. 看到网上有用tortoiseSVN客户端 也就是在源文件上右键选择tortoiseSVN ->Clean up.. 解决问题的,我也试了下,还是报错。总之没找到一篇能完全解决我的问题的文章。所以记录下自己的解决过程。
1.下载 sqlite-shell-win32-x86: sqlite3.exe,放到svn 项目的主目录下(和.svn目录同级的目录),在当前目录地址栏直接键入 cmd,进入命令窗口。
2.在命令行输入
sqlite3 .svn/wc.db "select * from work_queue"
会列出当前队列。
3.执行
sqlite3 .svn/wc.db "delete from work_queue"
清空队列,并再次查询队列,没有记录则表示已清空。
sqlite3 .svn/wc.db "select * from work_queue"
4.此时再次在eclipse中右键项目目录,选择Team-->Refresh/Cleanup,有的人已经可以了,但是我仍然报错:svn already locked。
再次执行命令
sqlite3 .svn/wc.db "select * from wc_lock"
和
sqlite3 .svn/wc.db "delete from wc_lock"
删除锁。
5.终于,执行cleanup成功了。