svn问题(队列)

Posted 梁大师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn问题(队列)相关的知识,希望对你有一定的参考价值。

svn执行clean up命令时报错“Previous operation has not finished; run ‘cleanup‘ if it was interrupted”。无论你到那个父层次的目录执行“clean up “,都是报一样的错。执行cleanup时候,提示要cleanup。看来是进入死循环了。

之前都是图省事,把整个svn checkout的主目录都删掉,重新checkout来解决的。但是随着项目的深入开展,要更新的文件越来越多。

这个问题迟早要解决的,试试看吧。网上查了下资料。Svn的operation是存放在“work queue’“里的。而“work queue’是在内嵌数据库wc.db的work_queue表中的。看看work_queue表中放了些什么,再做处理。

1. 内嵌数据库一般是用sqlite进行轻量级管理的。网上可以下到sqlite-shell-win32-x86: sqlite3.exe

2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。

3. 执行 sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是刚才我执行的一些操作。

ps:用cmd打开并将工作目录cd到项目的主目录下。

4. 执行 sqlite3 .svn/wc.db "delete from work_queue". 把队列清空。

5. 执行 sqlite3 .svn/wc.db "select * from work_queue". 确认一下是否已经清空队列,发现已经没有记录显示,说明已经清空了。

6. 最后再试一下,看是否可以 clean up了。果然成功了。

最后,如果在svn检出时由各种原因挂掉(项目过大,我就是),用以上办法也可能解决(不保证一定能)。

以上是关于svn问题(队列)的主要内容,如果未能解决你的问题,请参考以下文章

SVN cleanup 报错,清除svn的工作队列

如何解决svn清理失败且路径显示乱码问题

SVN提交碰到的问题奇怪的问题

怎么解决svn清理失败且路径显示乱码问题

svn在遇到"cleanUp"后,run 'cleanup' if it was interrupted

处理svn不能执行cleanup命令的方法