如何修复未通过更新的Mercurial仓库因为指向subrepo中缺少修订?

时间:2011-10-30 16:51:19

标签: mercurial mercurial-subrepos

我们的mercurial存储库在尝试更新到旧分支时遇到困难,该分支具有不再存在的subrepo / revision对。

abort: unknown revision '22e9bb6a6cd98be85b995f632b2f72d6298f9354'!

有没有办法告诉Mercurial更新修订版或分支但不尝试更新子版本?

1 个答案:

答案 0 :(得分:7)

subrepo是否仍然存在于其他地方?您可以使用[subpaths]部分更改指向它的指针,该部分在.hgsub中的位置上方提供翻译图层。

如果它真的不存在于任何地方你可以如此深刻的魔法:

hg debugsetparent REVISION_YOU_WANT
cat /dev/null > .hgsub   # put an empty .hgsub in place
hg commit .hgsub
hg update tip

那应该创建一个新版本,就像REVISION_YOU_WANT一样,除了它有一个空的.hgsub文件,所以你可以更新它。

如果能够在某个新位置找到subrepo并使用子路径指向它,那会好得多。