1. 程式人生 > >如何搞定SVN目錄的cleanup問題和lock問題

如何搞定SVN目錄的cleanup問題和lock問題

最近在使用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裡面有我操作的記錄,於是將該表也清空,發現問題就解決了。