【问题标题】:Mercurial suddenly thinks all files have changed - waiting for lock on working directoryMercurial 突然认为所有文件都已更改 - 等待锁定工作目录
【发布时间】:2010-11-21 16:52:32
【问题描述】:

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

waiting for lock on working directory

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

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

唯一可能导致此问题的是 Windows 在一夜之间在我的计算机上安装了安全补丁。

有其他人在 Mercurial 中看到过这个吗?

【问题讨论】:

    标签: mercurial


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        我的 1.1.1 二进制文件(来自 Cygwin)一定有损坏。

        Cygwin 仍在 1.1 上。

        【讨论】:

          【解决方案4】:

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

          hg debuglocks
          

          这应该给出一个结果,表明哪个文件正在锁定目录,例如

          lock: free
          wlock: (461232s)
          

          解锁使用武力:

          hg debuglocks --force-wlock
          

          或:

          hg debuglocks --force-lock
          

          更多信息:

          hg debuglocks -h
          

          注意这一段:

          锁保护 Mercurial 数据的完整性,因此应予以处理 小心。系统崩溃或其他中断可能导致锁 虽然 Mercurial 通常会检测并 自动删除这些过时的锁。

          【讨论】:

            猜你喜欢
            • 2021-04-22
            • 1970-01-01
            • 2010-09-05
            • 1970-01-01
            • 2010-11-08
            • 2015-11-03
            • 2011-09-21
            • 1970-01-01
            相关资源
            最近更新 更多