Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复由于子回购中缺少修订而导致更新失败的Mercurial回购?_Mercurial_Mercurial Subrepos - Fatal编程技术网

如何修复由于子回购中缺少修订而导致更新失败的Mercurial回购?

如何修复由于子回购中缺少修订而导致更新失败的Mercurial回购?,mercurial,mercurial-subrepos,Mercurial,Mercurial Subrepos,我们的mercurial存储库在尝试更新到一个旧分支时遇到了问题,该分支的子repo/修订对已经不存在了 abort: unknown revision '22e9bb6a6cd98be85b995f632b2f72d6298f9354'! 有没有办法告诉Mercurial更新版本或分支机构,但不尝试更新子回购协议?子回购协议是否仍存在于其他地方?您可以使用[subpath]部分更改指向它的指针,该部分在.hgsub中的位置顶部提供了一个翻译层 如果它真的不存在于任何地方,你可以使用一些深层魔

我们的mercurial存储库在尝试更新到一个旧分支时遇到了问题,该分支的子repo/修订对已经不存在了

abort: unknown revision '22e9bb6a6cd98be85b995f632b2f72d6298f9354'!

有没有办法告诉Mercurial更新版本或分支机构,但不尝试更新子回购协议?

子回购协议是否仍存在于其他地方?您可以使用
[subpath]
部分更改指向它的指针,该部分在
.hgsub
中的位置顶部提供了一个翻译层

如果它真的不存在于任何地方,你可以使用一些深层魔法,比如:

hg debugsetparent REVISION_YOU_WANT
cat /dev/null > .hgsub   # put an empty .hgsub in place
hg commit .hgsub
hg update tip
这将创建一个新版本,它与您想要的版本一样,只是它有一个空的.hgsub文件,这样您就可以更新到它


如果你能在某个新的位置找到子回购协议,并用子路径指向它,那就更好了。

下次我推送时,这种黑客行为是否会传播到其他回购协议,还是只是本地的?如果你提交,它将在“推送”上传播。如果你不想在行动前克隆。本地克隆(几乎)是即时的,并且不占用(几乎)任何磁盘空间——这是一种很好的尝试方法。请注意,如果您试图更新回的提交位于命名分支(默认分支除外)上,在您完成hg debugsetparent之后,您还必须完成hg branch.Great point@KevinBerridge——感谢您将IRC提供的信息传递回这个问题。这是伟大的反复无常的公民身份。谢谢你问这个问题。FWIW,这似乎是在你问了两年后修补的: