Mercurial hg子存储库问题 - “中止:未知修订版”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mercurial hg子存储库问题 - “中止:未知修订版”相关的知识,希望对你有一定的参考价值。

注意:昨天我在kiln.stackexchange.com上问过这个问题,但是没有得到答案,而且它正在阻碍我的工作。所以我想我会在这里试一试。

我的主要mercurial存储库中有一堆子存储库。在初始设置期间,我在我的.hgsub中犯了一个错误。也就是说,我将两个子存储库指向同一目录。

我应该拥有什么:

sites/1=sites/1
sites/2=sites/2
sites/3=sites/3

我实际上有什么:

sites/1=sites/1
sites/2=sites/2
sites/2=sites/3

愚蠢的复制/粘贴错误。我犯了错误的.hgsub,没有意识到我的错误。稍后进行一些修改,在向.hgsub添加一些新的子存储库时,我注意到了这个错误并将其修复在.hgsub中。我承诺并继续前进。我已经投入了大量合理的工作,我不想重做,因为我已经修复了.hgsub中的错误。

现在我们来看实际问题:我在子库sites/3中做了一些更改,当我尝试提交主存储库时,我收到以下错误:

abort: unknown revision 'LongGUIDLookingString'

我找到了this discussion,它似乎解决了我遇到的同样问题,但我无法弄清楚bos如何修复它。为了解决这个问题,我需要做什么?

.hgsubstate的相关部分:

7d1e430ac5f12e00cb5bebcdf693e72db2c45732 sites/1
6eea936a5b7cfff6169f59d0dc1c8c4eb5f8412d sites/2
e2b83b301997de8add1b659d82a7ab8201bda653 sites/3
答案

我猜.hgsubstate文件现在包含repo2条目中repo3的一个hashid(这是你的LongGUIDLookingString是什么)。

尝试编辑.hgsubstate以指向每个repo的正确/现在的hashid。

如果这不起作用,请粘贴我的.hgsubstate文件,以便我们可以看到它是如何调整的。

以上是关于Mercurial hg子存储库问题 - “中止:未知修订版”的主要内容,如果未能解决你的问题,请参考以下文章

Mercurial 中止:索引 ... 已损坏

Mercurial https 克隆:“中止:错误:(...)错误的版本号”

Mercurial:迁移到新的存储库结构 - 子存储库更新

如何在 Mercurial 中克隆存储库的子文件夹?

如何中止mercurial中的合并?

mercurial 合并中止 3 个头