TortoiseSVN 執(zhí)行清理( cleanUp )失敗的解決方案

前言

目前我們這邊的內(nèi)網(wǎng)代碼是通過 TortoiseSVN 進行版本管理的,平時用著也挺好的,沒碰到什么大問題。

但是,今天碰到了一個比較棘手的問題,在這里做一下記錄,以方便自己和有需要的朋友在之后碰到該類問題時有個參考。

現(xiàn)象

具體的錯誤現(xiàn)象如下圖所示:

image-20220126215234477

原因

導致上述現(xiàn)象的步驟如下:

  1. 從最外層目錄點擊的更新,由于文件數(shù)量巨多,導致長時間處于檢查狀態(tài);

  2. 點擊了取消更新按鈕;

  3. 取消響應太慢,直接從任務管理器關(guān)閉 TortoiseSVN 進程;

經(jīng)過以上步驟后,再次更新就出現(xiàn)了該現(xiàn)象,不管從哪一級目錄更新都是一樣的錯誤。

嘗試一

根據(jù)錯誤現(xiàn)象中的提示信息,手動執(zhí)行清理操作,結(jié)果彈出下圖所示的錯誤:

image-20220126215625456

不管從哪一級目錄開始,都是一樣的報錯,看來這條路是走不通的,只能另尋他法。

圖中報錯信息 Failed to run the WC DB work queue associate with xxx 的大意是:啟動與 xxx 相關(guān)聯(lián)的 WC DB 工作隊列失敗。

嘗試二

通過查找資料,發(fā)現(xiàn)碰到這種現(xiàn)象的人還是蠻多的,但是,現(xiàn)在網(wǎng)上找出來的資料中,絕大部分都是建議使用 sqlite3 進行數(shù)據(jù)庫清理,數(shù)據(jù)庫位于時選擇的那個本地目錄下的 .svn 文件夾中,名稱為 wc.db,如下圖這樣的:

image-20220126215920104

.svn 里的內(nèi)容當時忘了截圖了,借用一下網(wǎng)上找到的:

img

吐槽一下,這個數(shù)據(jù)庫文件名稱 wc 讓我有了不好的聯(lián)想。

注意:.svn 文件夾一般是隱藏文件夾,需要設置顯示。

所以,我就根據(jù)網(wǎng)上的教程,在外網(wǎng)下載了 sqlite3 的安裝包,申請了導入內(nèi)網(wǎng)。

在等待導入的過程中,我突然想到,能修改數(shù)據(jù)庫文件(.db)的不僅僅只有 sqlite3,我內(nèi)網(wǎng)機上安裝的 Navicat Premium 也是能解析數(shù)據(jù)庫文件的,那為什么不試一下呢?因為之前只用它連接數(shù)據(jù)庫,一時沒反應過來。

終解

嘗試使用 Navicat Premium 打開 wc.db 文件,果然是可以正常解析的。

接下來就是按照圖上標出來的步驟:

  1. 找到 WORK_QUEUE 表;
  2. 右鍵該表,選擇“清空”;
  3. 保存 wc.db
image-20220126215825877

用上面修改過的 wc.db 替換 .svn 下的 同名文件,然后再次執(zhí)行清理指令。在稍等十幾秒后,提示信息變?yōu)槿缦滤荆?/p>

image-20220126215709305

最后的請理結(jié)果如下:

image-20220126215439953

可以看到,最終是清理 SVN 成功。

總結(jié)

通過今天這個事,我的總結(jié)如下:

  1. 在 SVN 更新過程中,盡量避免點擊取消更新;
  2. 如果確實點了取消,那么就要耐心等待 SVN 執(zhí)行完取消操作,不要強制關(guān)閉 SVN 進程;
  3. 網(wǎng)上的資料一般只適合用來做參考,且同質(zhì)化太嚴重;
  4. 解決今天這個報錯的方法肯定不止我寫的這一種。

~

~ 本文完,感謝閱讀!

~

學習有趣的知識,結(jié)識有趣的朋友,塑造有趣的靈魂!

大家好,我是〖編程三昧〗的作者 隱逸王,我的公眾號是『編程三昧』,歡迎關(guān)注,希望大家多多指教!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容