转载网址:http://www.tuicool.com/articles/biy6na
今天svn遇到一个头疼的问题,最开始更新的时候失败了,因为有文件被锁住了。按照以往的操作,我对父目录进行clean up操作,但是clean up 操作也失败了!
svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
cleanup 失败,失败的信息里又叫我cleanup,这是一个死循环。。。到google搜索解决问题,最后终于找到一个有效的解决办法。
首先,到 sqlite官网 (http://www.sqlite.org/download.html) 下载 sqlite3.exe
找到 Precompiled Binaries for Windows,点击 sqlite-shell-win32-x86-3080500.zip 下载,300KB左右
Usually, an svn cleanup fixes most issues with tortoise svn. However, I ran into an issue which caused me some grief.
The specific error I was seeing:
Previous operation has not finished; run 'cleanup' if it was interrupted
Solution: Somehow, svn is stuck on the previous operation. We need to remove this operation from it’s ‘work queue’.
The data is stored in the wc.db sqllite database in the offending folder.
1. Install sqllite (32 bit binary for windows) from here
2. sqlite3 .svn/wc.db "select * from work_queue"
The SELECT should show you your offending folder/file as part of the work queue. What you need to do is delete this item from the work queue.
3. sqlite3 .svn/wc.db "delete from work_queue"
That’s it. Now, you can run cleanup again – and it should work. Or you can proceed directly to the task you were doing before being prompted to run cleanup (adding a new file etc.)
Also, svn.exe (a command line tool) is part of the Tortoise installer – but is unchecked for some reason. Just run the installer again, choose ‘modify’ and select the ‘command line tools’.
简单来説是,通过sqlite将svn中之前的工作队列清空,这样子就可以进行cleanup操作啦。