在克隆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!

谷歌没有帮助。

任何建议吗?


当前回答

我在Mac OS X 10.7.5和Mercurial 2.6.2上尝试推送时遇到了这个问题。升级到Mercurial 3.2.1后,我得到的是“没有发现任何更改”,而不是“等待锁定存储库”。我发现默认路径被设置为指向相同的存储库,因此Mercurial会感到困惑也就不足为奇了。

其他回答

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

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

我在Win 7上也遇到了同样的问题。 解决方案是删除以下文件:

.hg /商店/ phaseroots .hg / wlock

至于.hg/store/lock -没有这样的文件。

我遇到的问题是无法检测到锁文件。我在这里找到了解决方案: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)没有在过期后自动删除的时间戳。

我在Mac OS X 10.7.5和Mercurial 2.6.2上尝试推送时遇到了这个问题。升级到Mercurial 3.2.1后,我得到的是“没有发现任何更改”,而不是“等待锁定存储库”。我发现默认路径被设置为指向相同的存储库,因此Mercurial会感到困惑也就不足为奇了。

如果它只发生在映射驱动器上,它可能是bug https://bitbucket.org/tortoisehg/thg/issue/889/cant-commit-file-over-network-share。使用UNC路径而不是驱动器号似乎回避了这个问题。