之前也遇到過這個問題,不過讓朋友幫忙解決的。這次又碰上了,記不起怎么弄的來了。
這是在網上查的方法。
本地.svn\wc.db數據庫文件里面存儲了svn的operation,表名是work_queue。
.db數據庫文件可以用sqlite3打開。到網上下載sqlite3.exe,解壓到D:\Offsite\.svn文件夾下,解壓后的sqlite3.exe才475KB大小。
1. 運行cmd,進入到D:\Offsite\.svn文件夾下,執行sqlite3 wc.db,打開數據庫
2. 執行.table 可以查看表名
附:本地在下面附了該內容,奈何太小,糙心的馬哥,竟然看不到,只能加上這個圖了,,在這個delete之前先查看一下WORK_QUEUE與WC_LOCK兩個表是否有內容,如果沒有的話,能操作也沒有多大意義了。同時說明一下在一次操作中只清除了WORK_QUEUE,去提交,結果還是提示Lock。后來實驗了一下先清除work_queue,再清除wc_lock,去提交就沒事了。
3. 執行delete from work_queue; 命令。
4. 重試 clean up 操作,問題解決。
在網上查了很多,但大部分和上面這個內容相似(這個寫的比較清晰),把這個貼出來。(就個人的問題而並沒有解決)
個人建議在delete from work_queue之前,先進行select該表,刪除之后,也select一下。
抱着實在弄不好,就重新checkout 的心態。
就把每個有問題的文件進行Revert。操作時發現有個文件顯示沒有lock,可每次操作都顯示已被Lock。
當把wc_lock表select的時候,發現一條lock記錄。(總算是找到了問題的關鍵)
刪除這條記錄, 再去操作就一切OK了!