2011-02-01 19 views
45

如果你已經使用SVN工具在Eclipse(顛覆,顛覆)工作過,那麼你很可能熟悉「工作副本‘XXX’鎖定...」錯誤。爲什麼我不斷收到'SVN:Working Copy XXXX locked;嘗試執行「清理」?

我發現了一個非常有用的帖子用解決辦法在此問題:Working copy XXX locked and cleanup failed in SVN

一樣大的解決方法是,它是一個痛苦的一遍又一遍的做有誰知道爲什麼我不斷收到此錯誤,什麼步驟我可以採取以防止它

上下文:我正在創建一個涉及監聽SVN事件的Eclipse插件,所以在測試這個插件時,我經常打開和關閉工作空間。每次我打開工作區時,都會進行1或2次提交。每隔一段時間,提交都會失敗,並且出現「工作副本鎖定」錯誤。我想這個錯誤不再發生,所以任何建議表示讚賞。

謝謝!

+0

有你能夠解決這個問題而不需要團隊 - >清理?我不希望我的用戶不得不繼續刷新/清理... – 2015-02-13 15:48:08

回答

81
  1. 選擇項目
  2. 所選項目
  3. 隊右鍵 - >清理

問題就迎刃而解了。

注: - 到您的目錄結構本質上更改上述步驟將工作僅僅是Eclipse(靛藍包)

9

我以前有過很多SVN問題,而且有一件事情肯定會給我帶來問題,那就是修改Eclipse以外的文件或手動刪除文件夾(其中包含.svn文件夾),這可能會給我帶來最多麻煩。

編輯 你也應該注意不要中斷SVN操作,儘管有時可能會出現一個錯誤,這可能導致無法刪除的文件.lock,因此你的錯誤。

+0

你說得很好,我相信我得到錯誤的原因是因爲我正在調試我的插件,並且斷點正在中斷SVN命令。 – jbranchaud 2011-11-23 01:59:27

14

通常會創建一個.lock文件,它會決定鎖定/解鎖狀態,檢查此文件的存在。我想如果你只刪除這個.lock文件,那麼問題就會消失。

+6

我不在我的計算機上測試它..但不`svn清理`以及修復?我知道我通常只是刪除.lock文件:p – 2011-02-01 17:55:56

+1

爲什麼它會被鎖定?我從來沒有要求它被鎖定,我不認爲我與Eclipse或Subversion的交互可以保證它被鎖定。此外,在團隊選項下,還有鎖定和解鎖選項。在此錯誤期間,鎖定選項被啓用,並且解鎖選項被禁用。 – jbranchaud 2011-02-01 17:57:11

+0

SVN清理也失敗。這似乎不是解決這個問題的方法。 – jbranchaud 2011-02-01 17:58:13

3

經過更多的探索和測試後,看起來這個問題是由調試插件和使用斷點引起的。 SVN/Subclipse顯然不喜歡在執行過程中有斷點,因此這個鎖文件正在被創建。只要我開始運行插件,這個問題就消失了。

2

我使用com.xxx.service.model軟件包時遇到了同樣的問題。

爲了解決這個問題,我首先在模型包中做了代碼更改的備份。然後刪除模型包並與存儲庫同步。它會顯示傳入整個文件夾/包。然後更新我的代碼。

最後,將舊代碼粘貼粘貼到SVN存儲庫。它工作正常。

1

這發生在我身上時,我從另一個顛覆項目複製目錄,並試圖提交。解決辦法是刪除我想提交的目錄中的.svn director。

0

,當你刪除/移動文件這種類型的問題可能發生。 Subversion僅檢查已添加到subversion的文件所做的更改,而不是對目錄結構所做的更改。而不是使用您的操作系統的副本等命令,而使用SVN複製等,請參閱http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html

此外,在提交更改svn的第一存儲在待辦事項列表的變化的「摘要」。在此待辦事項列表中執行svn操作時,它會鎖定文件以防止在執行這些svn操作時發生其他更改。如果svn動作中途中斷,例如崩潰,文件將保持鎖定狀態,直到svn可以完成待辦事項列表中的動作。這可以通過使用svn cleanup命令來「重新激活」。請參閱http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html

4

確保您完全清理控制檯所說的內容。例如,如果一個子文件夾(封裝)被鎖定:

svn: E155004: Commit failed (details follow): 
    svn: E155004: Working copy 'C:\Users\laura\workspace\tparser\src\de\test\order' locked 
    svn: E155004: 'C:\Users\laura\workspace\tparser\src\de\test\order' is already locked. 

清理C:/用戶/ liparulol /工作區/ tparser/SRC/DE/MC/ETN /解析器/順序

然後,你需要清理指定的文件夾而不是整個項目。如果你在eclipse中,右鍵單擊包,而不是在項目文件夾中執行清理。

3

當您的項目中的某個文件夾出現問題時,會發生這種情況。 您需要找出在特定文件夾下鎖定並執行svn cleanup的確切文件夾。 就可以解決這個如下:

  1. 運行svn commit命令找出哪個文件夾了問題。
  2. 將目錄更改爲該文件夾並運行svn cleanup。然後就完成了。
0

解決方案: 第一步:必須刪除「鎖定」文件,該文件根據目前的「.svn文件」隱藏文件。 第二步:在情況下,如果沒有「鎖」文件,然後你會看到「we.db」你必須打開這個數據庫,需要從下表中單獨刪除內容 - 鎖定 - wc_lock 第3步:清理您的項目 第4步:立即嘗試提交。 第5步:完成。

1

下應解除鎖定的工作副本(SVN上的客戶端版本1.6.11和elipse版本測試:Mars.2版本(4.5.2))

步驟1:(去工作拷貝目錄)$ cd working_copy_dir

第2步:(連接到svn sqlite數據庫)$ sqlite3 .svn/wc。db

第3步:(刪除表WC_LOCK中的所有記錄)sqlite>從WC_LOCK刪除;

第4步:(從源碼3數據庫斷開連接)的sqlite> CTRL + d

第5步:(從日食)右擊你的工作拷貝,然後點擊Team - >刷新/清除

相關問題