You need to enable JavaScript to run this app. Tortoise 上 Mercurial HG 锁显示空闲,却卡在等待工作目录锁无法push
优惠活动
大模型
产品
解决方案
定价
更多

Tortoise 上 Mercurial HG 锁显示空闲,却卡在等待工作目录锁无法push

TortoiseHg Push触发网络仓库锁等待异常排查

故障现象

  • 无任何前置配置或变更操作的情况下,突然无法向网络路径下的工作仓库执行push操作,本地检测到的所有本地锁状态均标记为free
  • 发起push操作时弹出首条报错:waiting for lock on working directory of \\uGames/MyGameRepo held by process '24012' on host MyHost.
  • 等待数分钟未响应后操作强制终止,弹出报错:abort: working directory of \\uGames/MyGameRepo: timed out waiting for lock held by MyHost:24012.
  • 对照同场景下的通用排障方法逐一测试,所有常规手段都没解决问题

本地检测输出

执行hg debuglock命令的返回结果:

lock:  free
wlock: free

矛盾点说明

本地跑的hg debuglock只会校验本地客户端关联的本地仓库锁状态,这次报错指向的是网络共享路径\\uGames/MyGameRepo上的远程仓库锁,本地检测结果完全反映不了远程路径的真实锁占用情况,这就是两边状态对不上的核心原因。

可直接落地的修复步骤

  • 直接打开网络共享路径\\uGames/MyGameRepo下的.hg隐藏文件夹,检查是否残留lock、wlock两个无主锁文件。这类残留锁一般是之前Mercurial操作异常退出(比如客户端崩溃、网络断连)留下的,系统不会自动清理。
  • 对照报错提示的主机名MyHost,在该主机上打开任务管理器,查找PID为24012的进程:如果进程已经不存在,直接删掉.hg目录下的两个残留锁文件就能解除占用;如果进程还处于卡死无响应状态,先结束这个进程再删锁文件。
  • 删锁文件前要确认当前没有其他用户或Mercurial进程正在对这个共享仓库做写入操作,避免锁机制失效损坏仓库元数据。

内容的提问来源于stack exchange,提问作者user14932840

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.07 22:45:11