所以我有一个由3个子回购组成的主Mercurial回购。
通常,我理解的提交/推送的正确方式如下:
hg commit -Sm 'Fixed a bug' # This commit was done from the main repo
hg push
我犯了一个错误,并从其中一个子转发中提交/推送:
hg commit -m 'Fixed a bug' # This commit was done from a sub-repo
hg push
现在,将提取/更新主回购的其他编码器将不会在子回购中看到我的更改。
Mercurial解决这一问题的正确方法是什么?
手动修改主repo中的.hgsubstate文件并提交/推送?
如果是这样的话,我知道ID的第一部分是最后一个子回购变更集的提示,但ID的其余部分呢?它是如何生成的?
或
是否正在等待下一次提交/推送,以便使用最新的变更集修复.hgstate文件?
或
提交并推送一个虚拟变更集?
或
其他。。。
我不知道我是否正确理解了你的问题,但对我来说,正确的方法似乎是进入子repo进行拉取和更新,然后进入主repo进行提交/推送。
请参阅https://www.mercurial-scm.org/wiki/Subrepository#Synchronizing_in_subrepositories