如何搞定SVN目錄的cleanup問題和lock問題
阿新 • • 發佈:2019-01-24
最近在使用SVN的時候碰到一個問題,就是操作時由於粗心大意,在更新的過程中點選取消,使得該目錄出現cleanup的操作提示。
OK,按照cleanup提示操作後,又提示目錄被lock...
網上有解決方案稱,在SVN目錄下找到 .svn 隱藏目錄,一般是在專案的根目錄下,在 .svn 目錄下有一個 wc.db 資料庫檔案。
我們使用 sqlite3.exe 開啟這個資料庫,並對它進行操作。
我採用的方法是,下載sqlite3.exe 放到 .svn 目錄下,啟動命令列,敲入命令:
sqlite3.exe wc.db
這時,進到了sqlite的命令列環境,可以操作該資料庫了,首先我們輸入命令:
.tables
將該資料庫中的表都顯示出來,我們需要關注的是 wc_lock 和 work_queue,因為關於操作的cleanup和lock的資訊是儲存在這2個表裡。
需要的話,可以使用 select * from wc_lock;來查看錶中的資訊是否為之前操作對應的檔案或目錄,如果這2張表存在資料那麼svn就無法進行後續的操作。
解決方案:
很簡單,你只要把這2張表清空即可,命令很簡單:
delete from wc_lock;
delete from work_queue;
需要的同學可以試試,最早只清空了work_queue問題沒解決,提示lock,於是我一次檢視跟lock相關的表格,發現wc_lock裡面有我操作的記錄,於是將該表也清空,發現問題就解決了。