SVN報錯“Failed to run the WC DB work queue associated with”解決辦法

yscit發表於2021-06-19

  最近在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已經安裝完成了。

二、解決過程

  1. 開啟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

2.SVN:檔名、目錄名或者卷標語法不正確

相關文章