题
有一个蓝屏在窗边的克隆一个善变的储存库。
重新启动后,我现在得到这个消息于几乎所有的汞的命令:
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!
谷歌有帮助。
什么建议吗?
解决方案
当"等待锁在储存库",删除储存库的文件: .hg/wlock
(或者,它可能在
).hg/store/lock
当删除锁的文件,必须确保没有别的被访问的仓库。(如果锁是一串零或空白,这是几乎必然如此)。
其他提示
时 waiting for lock on working directory
, 中,删除 .hg/wlock
.
我有这个问题有没有可检测锁定的文件。我发现这里的解决方案: http://schooner.uwaterloo.ca/twiki/bin/view/MAG/HgLockError
这里是一个记录誊本从陆龟Hg工作台控制台
% 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]
在此之后的中止拉跑了成功.
锁已经超过2年前,通过一个处理上一个机器,已不再是局域网。可耻的汞开发商)不记录锁充分;b)没有时间戳他们,用于自动删除,当他们获得陈旧。
同事有这种确切的问题今天,在一个死机的同时,试图推动。他有:
- 删除的文件
.hg/store/lock
(为每 所接受的答案) - 删除的文件
.hg/store/phaseroots
(为每 这TortoiseHG错误报告)
然后他回购工作。
编辑: 为每@Marmoute的评论-当处理锁相关的问题,使用 hg debuglock
是一个更安全的替代盲目删除的 .hg/store/lock
文件。
我非常熟悉善变的锁码(如1.9.1).上述建议是好的,但是我想补充的是:
- 我已经看到这种在野生,但很少,仅在Windows的机器。
- 删除锁的文件是最简单的解决,但你必须确保没有别的被访问的仓库。(如果锁是一串零,这是几乎必然如此)。
(为好奇:我还没有能够抓住的原因这一问题,但怀疑这是不是旧版本的善变的访问的仓库或中的一个问题蟒蛇的座。gethostname()呼吁某些版本的Windows。)
我有同样的问题上赢得7.解决的办法是删除以下文件:
- .hg/储存/phaseroots
- .hg/wlock
为。hg/储存/锁-有没有这样的文件。
我不希望这是一个成功的回答,但它是一个相当不寻常的情况。提到的情况下其他人比我运行为。
今天,我有的"等待锁在储存库"在一个汞推命令。
当我杀了挂汞命令我就可以看到没有。hg/储存/锁
当我看着。hg/储存/锁,同时命令,它的存在。但是,该文件锁已被删除时,汞命令被杀害。
当我去到目标的推动,并执行汞拉,没有任何问题。
我最终意识到,该进程ID在汞推被锁在等待消息是改变每个时间。事实证明,"汞推动"挂在等待一个锁举行了由本身(或有可能子流程,我没有进一步的调查).
事实证明,两个工作空间,让我们叫他们A和B。汞树共symlink:
A/.hg --symlinked-to--> B/.hg
这不是一个好的事情要做善变的.刺客不会理解的概念,两个工作空间分享同一个储存库中。我明白,但是,如何有人要来到刺客从另一个风险可能会想要这个(必然不会,虽然不是一个DVC;集市DVC据说可以这样做)。我惊讶的是,如果REP-ROOT/.汞在所有工作,虽然它看来,除了这种推动。
如果被锁仓库是原来的我不能想象它 修改 它的克隆,因此它只是防止你改变它在中东和捣乱的克隆。它应该被罚款之后,除去锁。
新的克隆复制(如果它是一个当地的克隆)可以在任何种类的格式错误的状态,虽然如此,你应该把它扔出去,并开始。(如果它是一个遥远的克隆,我希望它失败了,已经扔掉了不完整的副本。)
我遇到这个问题上Mac OS X10.7.5和善变的2.6.2时,试图推动。升级后,善变的3.2.1,我得到了"没有变化,找到",而不是"等待锁在储存库".我发现了某种默认的道路已经设定为点对同一个储存库,所以它不是太令人惊讶的是刺客会感到困惑。
如果它只是发生在驱动器的映射它可能会被错误 https://bitbucket.org/tortoisehg/thg/issue/889/cant-commit-file-over-network-share.使用UNC路径,而不是驱动的信似乎回避的问题。
我有同样的问题。得到以下消息的时候我trided犯下:在等待锁上的工作目录的持有"
汞debuglock showd这样的:锁定:免费的 wlock:(66722s)
所以我做了以下命令,认定该问题对我说:汞debuglocks-W
使用的windows7资和TortoizeHg4.8.7.