mst*_*rap 12 mercurial mercurial-queue
我已经在队列中导入了几个修订版并试图将它们全部弹出.不幸的是,根据访问同一存储库的其他一些Mercurial客户端,hg qpop -a
未成功完成:
> hg qpop -a
popping 115.diff
popping 114.diff
popping 113.diff
popping 112.diff
popping 111.diff
abort: The process cannot access the file because it is being used by
another process
C:\Program Files (x86)\Mercurial\library.zip\mercurial\dispatch.py:217:
DeprecationWarning: use lock.release instead of del lock
Run Code Online (Sandbox Code Playgroud)
现在我再也无法推回补丁了.Mercurial总是抱怨"未知节点":
> hg qpush -a
mq status file refers to unknown node b6fb614866f1
abort: working directory revision is not qtip
Run Code Online (Sandbox Code Playgroud)
这意味着什么以及如何解决这个问题?
Tim*_*gan 19
这听起来像你的手术失败了.hg
很久以前就向邮件列表报告过类似的问题(链接).您应该阅读Andreas Wuest的这篇博文,其中介绍了恢复过程.
它基本归结为:
$ > .hg/patches/status # force mq to think no patches are applied
$ hg debugrebuildstate -r tip # rebuild your working copy
Run Code Online (Sandbox Code Playgroud)
这不会破坏您的修补程序队列,也不会丢失任何不属于修补程序的工作副本更改.但是,您需要仔细检查(并修复)文件版本才能返回到干净的工作副本.