Svn的operation是存放在“work queue’“裡的。而“work queue’是在內嵌資料庫wc.db的work_queue表中的。看看work_queue表中放了些什麼,再做處理。
1. 內嵌資料庫一般是用sqlite進行輕量級管理的。網上可以下到sqlite-shell-win32-x86: sqlite3.exe
2. 為了方便命令列執行,將sqlite3.exe放到svn 專案的主目錄下,和.svn目錄同級下。
3. 執行 sqlite3 .svn/wc.db "select * from work_queue".看到有4條記錄。就是剛才我執行的一些操作。
226539|(sync-file-flags 93目錄名 檔名)
226540|(file-remove 21 .svn/tmp/svn-7B43C232)
226541|(sync-file-flags 目錄名 檔名)
226542|(file-remove 21 .svn/tmp/svn-7B48224E)
4. 執行 sqlite3 .svn/wc.db "delete from work_queue". 把佇列清空。
5. 執行 sqlite3 .svn/wc.db "select * from work_queue". 確認一下是否已經清空佇列,發現已經沒有記錄顯示,說明已經清空了。
6. 最後再試一下,看是否可以 clean up了。果然成功了。
Svn的operation是存放在“work queue’“裡的。而“work queue’是在內嵌資料庫wc.db的work_queue表中的。看看work_queue表中放了些什麼,再做處理。
1. 內嵌資料庫一般是用sqlite進行輕量級管理的。網上可以下到sqlite-shell-win32-x86: sqlite3.exe
2. 為了方便命令列執行,將sqlite3.exe放到svn 專案的主目錄下,和.svn目錄同級下。
3. 執行 sqlite3 .svn/wc.db "select * from work_queue".看到有4條記錄。就是剛才我執行的一些操作。
226539|(sync-file-flags 93目錄名 檔名)
226540|(file-remove 21 .svn/tmp/svn-7B43C232)
226541|(sync-file-flags 目錄名 檔名)
226542|(file-remove 21 .svn/tmp/svn-7B48224E)
4. 執行 sqlite3 .svn/wc.db "delete from work_queue". 把佇列清空。
5. 執行 sqlite3 .svn/wc.db "select * from work_queue". 確認一下是否已經清空佇列,發現已經沒有記錄顯示,說明已經清空了。
6. 最後再試一下,看是否可以 clean up了。果然成功了。