3

我的存储库卡在明显中断的变基中:如果我尝试新的提交,我会收到以下消息:

abort: rebase in progress
(use 'hg rebase --continue' or 'hg rebase --abort')

hg rebase --abort消息失败

abort: unknown revision '<hex id>'!

我什至尝试过hg rebase --continue,但得到了同样的错误。hg verify认为一切正常。有没有办法让存储库不固定,或者我必须把它扔掉并制作一个新的克隆?(幸运的是,我能够简单地hg clone完成损坏的回购并将问题抛在脑后。但我仍然想知道更好的出路)。

我不知道存储库是如何进入这种状态的;几个月前我可能做了一些导致它的事情,我可能不会。我刚回到回购并遇到了这个。(我偶尔会使用变基,从来没有遇到过问题)。我找了一个备份包,但没有看到。

4

1 回答 1

1

hg debugcheckstate专门检查“dirstate 的正确性”。我不确定它的检查是否是由 执行的检查的子集hg verify,但它不会受到伤害。

在与此类似的情况下,您可以继续hg debugsetparents tip; hg up -C .(可选地替换tip为变更集 ID),然后使用hg strip丢弃您不想保留的任何部分重新设置的提交。这基本上覆盖了通常的hg update系统并将工作目录的父级设置为tip手动。然后hg up -C清理工作目录。

这样做可能会丢失数据;您应该有一个备份(例如在 Bitbucket 上),您可以从中获取hg pull任何丢失的变更集。在最坏的情况下,可能需要一个新的克隆。

于 2014-11-13T22:01:12.007 回答