1

我不小心剥离了错误的变更集;但是,我保存了备份,但是当我尝试使用hg unbundle .hg/strip-backup/faa0a1895b97-backup.hg解绑它们时,出现以下错误:

adding changesets
transaction abort!
rollback completed
abort: 00changelog.i@561fe01204b5: unknown parent!

我能做些什么来纠正这个问题?

这是来自的全部输出hg verify

checking changesets
checking manifests                                                              
crosschecking files in changesets and manifests                                 
checking files
4

1 回答 1

0

如果 unbundle 告诉您它无法应用捆绑包,那么该“第一个”的父级更改设置它的捆绑包,捆绑包基础,在您的存储库中不存在。由于 repos 永远不会使用普通的 mercurial 命令丢失变更集(strip 不正常),因此您似乎使用了 strip 或其他一些 history-altering-not-normal-usage 命令来更改或删除该变更集。

尝试浏览所有.hg/strip-backup/文件并一一应用它们。也许其中一个确实适用并包含您尝试应用的条带备份所需的父级。

Tl; Dr:没有正常的 mercurial 命令会删除任何内容,以及创建备份的非正常命令。除非您在带外删除文件,否则数据就在某处。

于 2013-04-21T00:51:16.830 回答