最近在check SVN上的iOS程式碼時,失敗報錯: Failed to run the WC DB work queue associated with “目錄/檔案”,clean up同樣報錯。最後在網上找到了解決方案並解決了問題,解決方法如下:
一、安裝sqlite3
1 下載
我是window10 32位,下載以下檔案:
1.下載 sqlite-dll-win32-x86-3140100
2.下載 sqlite-tools-win32-x86-3140100
官方下載地址:https://www.sqlite.org/download.html
2 安裝
(1)先在C盤建一個資料夾 sqlite
(2)把 sqlite-dll-win32-x86-3140100 中解壓出來的兩個檔案(sqlite3.def 和 sqlite3.dll)複製到剛才新建的目錄(C:\sqlite)中
(3)把 sqlite-tools-win32-x86-3140100 中解壓出來的檔案 sqlite3.exe 複製到C:\sqlite 目錄中
(4)新增系統環境變數, 在Path變數值後面新增 C:\sqlite(windows7系統不要忘記分號),如下圖所示:
(5)驗證是否安裝完成。執行cmd,切換到C盤根目錄,輸入sqlite3,然後回車,如果安裝成功的話,會顯示sqlite版本號,如下圖所示:
OK,Sqlite3已經安裝完成了。
二、解決過程
- 開啟cmd,進入到需要清理目錄的.svn目錄中,檢視是否存在wc.db檔案
C:\WINDOWS\system32>e:
E:\>cd E:\yscit\workspace\coding\96_IOS\.svn
E:\yscit\workspace\coding\96_IOS\.svn>dir
驅動器 E 中的卷沒有標籤。
卷的序列號是 A05F-0B3D
E:\yscit\workspace\coding\96_IOS\.svn 的目錄
2021/06/15 14:26 3 entries
2021/06/15 14:26 3 format
2021/06/15 14:26 <DIR> pristine
2021/06/15 14:31 <DIR> tmp
2021/06/15 14:31 671,744 wc.db
2021/06/15 14:31 0 wc.db-journal
4 個檔案 671,750 位元組
2 個目錄 47,469,176,320 可用位元組
2.用sqlite3開啟wc.db檔案
E:\yscit\workspace\coding\96_IOS\.svn>sqlite3 wc.db
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
3.看看wc.db裡面都有哪些表(非必要):
sqlite> .table
ACTUAL_NODE NODES PRISTINE WC_LOCK
EXTERNALS NODES_BASE REPOSITORY WORK_QUEUE
LOCK NODES_CURRENT WCROOT
sqlite>
4.接下來我們要做的就是對NODES、WORK_QUEUE、WC_LOCK進行清理。
# 看看有啥,非必要
sqlite> select * from NODES where local_relpath like '%*%';
# 1|src/path/to/136*12.png|0|src/path/to|1|dpath/to/136*12.png|12487|normal|||file|(svn:mime-type application/octet-stream)||$sha1$a6ab08429621146c6f3d2aeb3b246b7daa2e1c5f||10739|1563264828707442|提交人帳號|||||
# 1|src/path/to/136*12-hover.png|0|src/path/to|1|path/to/136*12-hover.png|12487|normal|||file|(svn:mime-type application/octet-stream)||$sha1$42fa4db5041d07f474d15c6b426e08de87f32d61||10739|1563264828707442|提交人帳號|||||
# 清理它,必要
sqlite> delete from NODES where local_relpath like '%*%';
sqlite> delete from WORK_QUEUE;
sqlite> delete from WC_LOCK;
執行完上面三條清理命令後再svn update檢出就ok了,有多少個這類檔案上面步驟就要重複多少次(裂開.jpg)。大家如有什麼更好的解決方法,歡迎評論區留言交流。
參考資料:
1.解決SVN Cleanup錯誤: Failed to run the WC DB work queue associated with