Mercurial突然认为所有文件都已更改 - 等待锁定工作目录

时间:2009-08-21 15:08:08

标签: mercurial

我几个月来一直在使用Mercurial v 1.1版本文档和其他文件。昨天突然失败的消息:

waiting for lock on working directory

我在.hg控制下的所有项目中都会发生这种情况。 Mercurial还认为所有项目中的所有文件都已更改。

项目中没有.hg / store / lock文件,它说它正在等待锁定。

唯一可能导致这种情况的是,Windows在我的计算机上安装了安全补丁。

有没有其他人在Mercurial看过这个?

4 个答案:

答案 0 :(得分:15)

我已成功删除该文件.hg/wlock如果它存在,那么一切都恢复正常。如果您担心失去某些东西,只需复制一份

答案 1 :(得分:9)

对于工作目录,锁定为.hg/wlock。该文件是否存在? 为了重建dirstate(请注意它不会恢复添加/删除/重命名/副本等更改),您可以使用hg debugrebuildstate

答案 2 :(得分:0)

我升级到hg版本1.3.1,现在一切正常。

我必须在1.1.1二进制文件中有腐败(来自Cygwin)。

Cygwin仍在1.1。

答案 3 :(得分:0)

要在工作目录中找出锁定目录的文件:

hg debuglocks

这应该给出一个结果,指示哪个文件锁定目录,例如

lock: free
wlock: (461232s)

解锁使用力量:

hg debuglocks --force-wlock

或:

hg debuglocks --force-lock

了解更多信息:

hg debuglocks -h

请注意本段:

  

锁定保护Mercurial数据的完整性,因此应予以处理   小心。系统崩溃或其他中断可能导致锁定   虽然Mercurial通常会检测到并且没有被正确释放   自动删除这些陈旧的锁。