在克隆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!
谷歌没有帮助。
任何建议吗?
在克隆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。
其他回答
当工作目录等待锁定时,删除.hg/wlock。
如果锁定的回购是原始的,我无法想象它是修改它来克隆它,所以它只是阻止你在中间修改它,把克隆搞砸。开锁后应该没问题。
但是,新的克隆副本(如果它是本地克隆)可能处于任何形式的畸形状态,因此您应该将其丢弃并重新开始。(如果它是一个远程克隆,我希望它失败了,并且已经扔掉了不完整的副本。)
当“waiting for lock on repository”时,删除存储库文件:.hg/wlock(或者它可能在.hg/store/lock中)
在删除锁文件时,必须确保没有其他任何东西正在访问存储库。(如果锁是一个0或空白的字符串,这几乎肯定是正确的)。
我非常熟悉Mercurial的锁定代码(从1.9.1开始)。上面的建议很好,但我想补充一点:
我在野外见过这种情况,但很少,而且只在Windows机器上见过。 删除锁文件是最简单的解决方法,但是你必须确保没有其他东西正在访问存储库。(如果锁是一串零,这几乎肯定是正确的)。
(好奇的人:我还没能找到这个问题的原因,但怀疑这可能是旧版本的Mercurial访问存储库,或者在某些版本的Windows上Python的socket.gethostname()调用中出现问题。)
我也有同样的问题。当我试图提交时,收到以下消息:
waiting for lock on working directory of <MyProject> held by '...'
Hg debuglock显示:
lock: free
wlock: (66722s)
所以我执行了以下命令,这为我解决了问题:
hg debuglocks -W
使用Win7和TortoiseHg 4.8.7。