SVN在提交、更新、cleanup時報錯:Problem running logsvn: Failed to run the WC DB work queue associated with 'D:\workspace\tmsdev', work item 9414 (file-install We ...
SVN在提交、更新、cleanup時報錯:
Problem running log
svn: Failed to run the WC DB work queue associated with 'D:\workspace\tmsdev', work item 9414 (file-install WebRoot/WEB-INF/lib/tms-express-api-1.0-SNAPSHOT.jar 1 0 1 1)
拒絕訪問。
svn: Can't move 'D:\workspace\tmsdev\.svn\tmp\svn-1948B6AC' to 'D:\workspace\tmsdev\WebRoot\WEB-INF\lib\tms-express-api-1.0-SNAPSHOT.jar':拒絕訪問。
Previous operation has not finished; run 'cleanup' if it was interrupted
問題分析如下:
1,問題表現為前面的操作未完成,後面的操作不能進行,前面的操作可能進入死迴圈或者bug了,完成不了。
2,Svn的operation是存放在“work queue“里的。而“work queue’是在內嵌資料庫wc.db的work_queue表中的。wc.db文件放在項目的.svn文件夾中。看看work_queue表中放了些什麼,再做處理。
3,內嵌資料庫一般是用sqlite進行輕量級管理的。網上可以下到sqlite-shell-win32-x86: sqlite3.exe(https://www.sqlite.org/download.html)就是一個文件名是sqlite3的可執行文件。
4,把sqlite3放在.svn目錄下,網上說的執行sqlite3 .svn/wc.db "select * from work_queue"我試了沒什麼反應,但理論上是要用sqlite3把wc.db打開,我是直接把wc.db文件用滑鼠拖拽到sqlite3.exe文件上打開的。
5,打開之後執行select * from work_queue;,分號結尾,可以看到現在work_queue中的operation。
6,執行delete from work_queue;,刪除work_queue中的operation,然後就可以cleanup等操作了。