2009-08-21 44 views
12

我已經使用Mercurial v 1.1幾個月來版本文檔和其他文件。昨天它突然失敗,消息:Mercurial突然認爲所有文件都已更改 - 等待工作目錄鎖定

waiting for lock on working directory 

這發生在我有.hg控制下的所有項目。 Mercurial也認爲所有項目中的所有文件都發生了變化。

項目中沒有.hg/store/lock文件,表示它正在等待鎖定。

可能造成這種情況的唯一原因是Windows在我的計算機上安裝了安全補丁。

是否有其他人看過Mercurial?

回答

9

對於工作目錄,鎖定爲.hg/wlock。文件是否存在? 對於重建dirstate(注意它不會恢復像添加/刪除/重命名/副本的更改),您可以使用hg debugrebuildstate

0

我升級到hg版本1.3.1,現在一切正常。

我必須在1.1.1二進制文件(來自Cygwin)中發生損壞。

Cygwin仍然在1.1。

15

我已經成功刪除該文件.hg/wlock如果它存在,那麼一切都恢復正常。如果你擔心失去某些東西,只是做一個副本

0

要找出哪些文件被鎖定的目錄,在工作目錄:

hg debuglocks 

這應該給指示哪些文件被鎖定的目錄結果例如

lock: free 
wlock: (461232s) 

要解鎖使用武力:

hg debuglocks --force-wlock 

或:

hg debuglocks --force-lock 

瞭解更多信息:

hg debuglocks -h 

注意這一段:

鎖保護Mercurial的數據的完整性,所以應該小心處理 。系統崩潰或其他中斷可能會導致無法正確釋放鎖,但Mercurial通常會檢測到,並且 會自動刪除此類過時的鎖。