关于svn死循环问题

来源:互联网 发布:sublimetext python 编辑:程序博客网 时间:2024/06/07 15:16

近来做项目发现,通过命令行check out代码,然后通过图形界面commit 代码会出错,包括clean up也会报错“svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted”,这是由于svn死循环造成的。

TortoiseSVN在1.7版本开始,取消了工作副本所有目录下的.svn,只在根目录下设置一个.svn目录,并且.svn目录中的文件也不一样了。

SVN 跟sqlite有关系,在.svn中存在一个wc.db文件,这个文件可能是sqlite的数据库文件,那说明在1.7版本后增加了wc.db这个文件,并且对本地更新,提交操作有关。
.svn主要记录两项关键信息:
1、工作文件的基准版本(叫做文件的工作版本)
2、一个本地副本最后更新的时间戳

解决方法:清空svn的队列
1.下载sqlite3.exe   
2.找到你项目的.svn文件,查看是否存在wc.db
3.将sqlite3.exe放到.svn的同级目录
4.启动cmd执行sqlite3 .svn/wc.db "select * from work_queue",看到很多记录
5.下一步执行sqlite3 .svn/wc.db "delete from work_queue",再clean up就可以了。最好也执行sqlite3 .svn/wc.db "delete from wc_lock"

原创粉丝点击