SVN報錯:Error Updating changes: svn: E155037
阿新 • • 發佈:2018-12-20
SVN不能更新了,也不能提交了。網上搜了一下,是因為SVN操作衝突了。按照提示的意思在專案Subversion下面Cleanup了一把,可是沒用,這個錯還在,依然無法更新提交。
這種情況下,要麼刪除專案,重新checkout,代價太大。要麼用這個方法解決:
SVN的操作資訊存放在一個叫做“work queue”的表裡,而work queue表存放在本地SVN資料庫檔案wc.db裡面。這屬於一種內嵌資料庫,一般用sqlite進行輕量級管理,這裡提供sqlite綠色版下載連結
-
建立資料夾 C:\sqlite,並在此資料夾下解壓上面兩個壓縮檔案,將得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 檔案。
-
新增 C:\sqlite 到 PATH 環境變數,最後在命令提示符下,使用 sqlite3 命令,將顯示如下結果。
C:\>sqlite3 SQLite version 3.7.15.2 2013-01-09 11:53:05 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>
- 將下載之後的sqlite3.exe拷貝到.svn目錄下(.svn目錄位於專案根目錄下,預設是隱藏的)
- 在.svn目錄下按住shift,右鍵,選擇“在此處開啟命令視窗”
- 在彈出的黑視窗中輸入”sqlite3 wc.db“,開啟資料庫
- 繼續輸入”.table“,可以看到所有的表名,其中work_queue表就是我們這次要處理的表;
- 此時其實可以輸入”select *from WORK_QUEUE;”sql語句檢視work_queue中所有的操作記錄,感興趣的小夥伴可以研究一下
- 直接輸入”delete from WORK_QUEUE;“刪除所有的操作記錄
然後回到IDEA中,選中專案右鍵,選擇Subversion -> 選擇Cleanup,就好了(如果沒好可以嘗試重啟IDEA)