1. 程式人生 > >SVN報錯:Error Updating changes: svn: E155037

SVN報錯:Error Updating changes: svn: E155037

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>
  1. 將下載之後的sqlite3.exe拷貝到.svn目錄下(.svn目錄位於專案根目錄下,預設是隱藏的)

  1. 在.svn目錄下按住shift,右鍵,選擇“在此處開啟命令視窗”
  2. 在彈出的黑視窗中輸入”sqlite3 wc.db“,開啟資料庫
  3. 繼續輸入”.table“,可以看到所有的表名,其中work_queue表就是我們這次要處理的表;
  4. 此時其實可以輸入”select *from WORK_QUEUE;”sql語句檢視work_queue中所有的操作記錄,感興趣的小夥伴可以研究一下
  5. 直接輸入”delete from WORK_QUEUE;“刪除所有的操作記錄

然後回到IDEA中,選中專案右鍵,選擇Subversion -> 選擇Cleanup,就好了(如果沒好可以嘗試重啟IDEA)