【发布时间】:2021-01-19 18:12:35
【问题描述】:
在执行一系列变基、剥离和搁置操作时,我似乎犯了一个错误。结果是我无法取消搁置。当我在当前状态下运行hg unshelve 时,它只会抛出一个丑陋的错误:
# hg unshelve
unshelving change 'repo-02'
abort: 00changelog.i@5bd4b71e0176: unknown parent!
我认为发生的事情是,在搁置更改(或者可能是一系列搁置)后,我剥离/重新设置了作为搁架依赖项的提交。
架子对许多“随机”文件进行了更改 - 这意味着它们的更改是不相关的(主要是临时调试输出,诸如此类)。因此,即使单个剥离的文件消失了,搁置的其余部分也应该可以使用 - 但我怎样才能克服这个错误?
【问题讨论】:
-
听起来您使用的是过时的工作流程。您应该使用 Evolve 扩展和主题,它们使用非破坏性操作。而且您不应该使用
hg strip,它具有破坏性并且早已过时。hg shelve偶尔有用,但也不应该成为您常规工作流程的一部分。 -
@FaheemMitha 我也使用 Evolve,但我不记得在这种情况下我为什么不这样做。
-
如果您使用 Evolve,则确实没有理由使用
hg strip。除非 Evolve 有它的非破坏性变体。这似乎不太可能,因为它已经有hg prune。
标签: mercurial