在克隆mercurial存储库时,在窗口中出现蓝屏。

重启后,我现在得到这条消息几乎所有的hg命令:

c:\src\>hg commit
waiting for lock on repository c:\src\McVrsServer held by '\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
interrupted!

谷歌没有帮助。

任何建议吗?


当前回答

如果锁定的回购是原始的,我无法想象它是修改它来克隆它,所以它只是阻止你在中间修改它,把克隆搞砸。开锁后应该没问题。

但是,新的克隆副本(如果它是本地克隆)可能处于任何形式的畸形状态,因此您应该将其丢弃并重新开始。(如果它是一个远程克隆,我希望它失败了,并且已经扔掉了不完整的副本。)

其他回答

如果锁定的回购是原始的,我无法想象它是修改它来克隆它,所以它只是阻止你在中间修改它,把克隆搞砸。开锁后应该没问题。

但是,新的克隆副本(如果它是本地克隆)可能处于任何形式的畸形状态,因此您应该将其丢弃并重新开始。(如果它是一个远程克隆,我希望它失败了,并且已经扔掉了不完整的副本。)

我也有同样的问题。当我试图提交时,收到以下消息:

waiting for lock on working directory of <MyProject> held by '...'

Hg debuglock显示:

lock:  free
wlock:  (66722s)

所以我执行了以下命令,这为我解决了问题:

hg debuglocks -W

使用Win7和TortoiseHg 4.8.7。

当“waiting for lock on repository”时,删除存储库文件:.hg/wlock(或者它可能在.hg/store/lock中)

在删除锁文件时,必须确保没有其他任何东西正在访问存储库。(如果锁是一个0或空白的字符串,这几乎肯定是正确的)。

我遇到的问题是无法检测到锁文件。我在这里找到了解决方案:http://schooner.uwaterloo.ca/twiki/bin/view/MAG/HgLockError

以下是来自Tortoise Hg Workbench控制台的文字记录

% hg debuglocks
lock:  user None, process 7168, host HPv32 (114213199s)
wlock: free
[command returned code 1 Sat Jan 07 18:00:18 2017]
% hg debuglocks --force-lock
[command completed successfully Sat Jan 07 18:03:15 2017]
cmdserver: Process crashed
PaniniDev% hg debuglocks
% hg debuglocks
lock:  free
wlock: free
[command completed successfully Sat Jan 07 18:03:30 2017]

在此之后,中止的拉成功运行。

这个锁是在两年多以前由一台不在局域网上的机器上的进程设置的。hg开发者真可耻,因为a)没有充分地记录锁;B)没有在过期后自动删除的时间戳。

同事今天也遇到了同样的问题,在试图推的时候,他突然晕眩了。他不得不:

删除文件.hg/store/lock(根据接受的答案) 删除文件。hg/store/phaseroots(根据这个TortoiseHG错误报告)

然后他的回购又起作用了。

编辑:根据@Marmoute的评论,在处理与锁相关的问题时,使用hg debuglock比盲目删除.hg/store/lock文件更安全。