我不小心剥掉了错误的变更集;但是,我保存了备份,但是当我尝试使用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
答案 0 :(得分:0)
如果unbundle告诉你它不能应用捆绑包那么那个“first”的父变更设置那个捆绑包,捆绑包基础,在你的仓库中不存在。由于repos永远不会丢失使用普通mercurial命令的变更集(条带不正常),因此您似乎使用strip或其他一些历史记录更改非正常使用命令来更改或删除该变更集。
尝试浏览所有.hg/strip-backup/
个文件并逐个应用。也许其中一个确实适用并包含您尝试应用的条带备份所需的父级。
Tl; Dr:没有正常的mercurial命令会删除任何内容,而非正常的命令会创建备份。除非您在带外删除文件,否则数据就在某处。