svn 遇到的死锁情况:
遇到这种情况,是死锁。
Svn的operation是存放在“work queue’“里的。而“work queue’是在内嵌数据库wc.db的work_queue表中的,看看work_queue表中放了些什么,再做处理。可以用sqlite 来进行管理
1. 内嵌数据库一般是用sqlite进行轻量级管理的。网上可以下到sqlite-shell-win32-x86-3080600(下载链接:http://www.sqlite.org/download.html)
2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。
3. 执行 sqlite .svn/wc.db “select * from work_queue”.看到有1条记录。就是刚才我执行的一些操作。
4. 执行 sqlite .svn/wc.db “delete from work_queue”. 把队列清空。
5. 执行 sqlite.svn/wc.db “select * from work_queue”. 确认一下是否已经清空队列,发现已经没有记录显示,说明已经清空了。
6. 最后再试一下,看是否可以 cleanup了。果然成功了。