問題描述
從SVN上拉下來Document文檔(word和excel),在本地修改后,准備通過TortoiseSVN提交,發現報錯。
Error: Previous operation has not finished; run 'cleanup' if it was interrupted 。
無論是commit還是updete都不行,提示需要執行clean up 。但svn執行clean up命令時報錯 "Previous operation has not finished; run 'cleanup' if it was interrupted"。 無論你到那個父層次的目錄執行 "clean up",都是報一樣的錯。
問題原因
可能是修改本地的文件之前沒有update,導致commit的時候產生沖突,致使SVN崩潰。
解決方法
方法一:
備份自己修改的文件,刪除之前download的文件,重新從SVN上download一份到本地。這樣太耗時,不方便。
方法二:
后上網搜索,svn 的 operation是存放在 "work queue" 里的。而 "work queue" 是在內嵌數據庫 wc.db 的 work_queue 表中的。看看work_queue表中放了些什么,再做處理。
1. 到網上下載sqlite3.exe,解壓到D:\document\.svn文件夾下,解壓后的sqlite3.exe才475KB大小。
說明:D:\document\.svn 這個路徑是你從SVN上拉下來的代碼或文件的本地路徑。.svn文件夾默認是隱藏不可見的,需要設置可見:工具 - 文件夾選項 - 查看 - 隱藏文件和文件夾。
2. 運行cmd,進入到D:\document\.svn文件夾下,執行sqlite3 wc.db,打開數據庫
3. 執行.table 可以查看表名
4. 執行delete from work_queue; 命令。
5. 重試 clean up 操作,問題解決。
參考:http://www.cnblogs.com/simmonner1999/p/5533465.html
http://blog.csdn.net/superch0054/article/details/38668017