一、問題描述
前提條件,使用的版本控制工具是 SVN。
今天需要更新接口文檔,所以就使用svn客戶端(俗稱小烏龜)update了一下,結(jié)果了如下錯誤:
Error : Previous operation has not finished; run ‘cleanup’ if it was interrupted.
Error : Please execute the ‘Cleanup’ command.
二、報錯原因
本地的SVN客戶端中有一個嵌入式 wc.db(里面大約有10多個表)SQLite,來保存SVN中管理的文件類型,項目結(jié)構(gòu)樹,用戶操作進度等。當SVN客戶端用戶代碼提交操作非正常的終止,導致sqlite中某個表中用來記錄用戶對項目A的操作(增刪改等)的數(shù)據(jù)來不及更改,由于我們后續(xù)的所有針對項目的操作,都優(yōu)先從該表中檢查項目A是否有未完成的操作,如果存在未完成操作就會提示 “Previous operation has not finished”。
三、解決方案
3.1 執(zhí)行 Cleanup 命令
根據(jù)報錯信息提示,需要執(zhí)行 Cleanup 命令,于是就按照提示去執(zhí)行 Cleanup 命令,
但是又報錯了,需要構(gòu)選 “Break write locks” 命令。于是根據(jù)提示信息把 “Break write locks” 打上勾,再次執(zhí)行 cleanup 命令
結(jié)果神奇般的好了,成功了。Cleanup has successfully processed the following paths: …
至此,對于我來說這個問題已經(jīng)解決了,但是我是執(zhí)行了很多次 Cleanup 命令之后,然后電腦重啟又執(zhí)行了好幾次 Cleanup 命令,最終得以解決。
如果對于屏幕前的你來說還沒有解決,請繼續(xù)往下看其他解決方案…
3.2 刪除WORK_QUEUE表中數(shù)據(jù)
在使用了svn的項目中,在項目根目錄會有一個.svn文件夾,這個是隱藏文件夾, 需要開啟顯示隱藏文件功能才能看到此文件夾。
.SVN文件夾中有個 wc.db 文件,該文件是sqlite的文件型數(shù)據(jù)庫,使用相關(guān)工具即可打開,例如 Navicat 等。
打開數(shù)據(jù)庫后,可以看到表 WORK_QUEUE,刪除此表中的數(shù)據(jù)即可。
上述操作完成后,然后在執(zhí)行 svn 的 cleanup 操作。
3.3 重新Checkout整個工程
將**.svn文件刪除,重新checkout工程下來。在這里可以保留當前已有的項目代碼,說svn在checkout**過程中檢測到已有文件存在時不會再重新下載,下載速度會比較快一些。
但是這樣感覺還是不太好,萬一checkout的文件出現(xiàn)問題,倒不如全部刪除項目,完完全全的checkout一份下來。文章來源:http://www.zghlxwxcb.cn/news/detail-625887.html
本文完結(jié)!文章來源地址http://www.zghlxwxcb.cn/news/detail-625887.html
到了這里,關(guān)于【異常解決】svn報“Previous operation has not finished; run ‘cleanup‘ if it was interrupted”的錯誤解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!