如何修复由于指向子repo中缺少修订而导致更新失败的Mercurial repo



我们的mercurial库在尝试更新到一个旧分支时卡住了,该分支的subrepo/revision对已经不存在了。

abort: unknown revision '22e9bb6a6cd98be85b995f632b2f72d6298f9354'!

是否有办法告诉Mercurial更新到一个修订或分支,但不尝试更新子repos?

子仓库还存在吗?您可以使用[subpaths] section来更改指向它的指针,该section在.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文件,所以你可以然后更新到它。

如果你能在某个新的位置找到子仓库,然后用子路径指向它,那就更好了。

最新更新