1. 无论是commit还是updete都不行,提示需要执行clean up 。但svn执行clean up命令时报错 "Previous operation has not finished; run 'cleanup' if it was interrupted"。
2. svn 的 operation是存放在 "work queue" 里的。而 "work queue" 是在内嵌数据库 wc.db 的 work_queue 表中的。看看work_queue表中放了些什么,再做处理。
3. 内嵌数据库一般是用sqlite进行轻量级管理的。网上可以下到sqlite-shell-win32-x86: sqlite3.exe【需自己下载】。
4. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。
5. 执行 【sqlite3 .svn/wc.db "select * from work_queue"】,会查看到你进行的操作记录。
6. 执行 【sqlite3 .svn/wc.db "delete from work_queue"】,把队列清空。
7. 执行 【sqlite3 .svn/wc.db "select * from work_queue"】, 确认一下是否已经清空队列,发现已经没有记录显示,说明已经清空了。
8. 最后再试一下 clean up,成功了。