所以我有一个主要的Mercurial仓库,由3个子仓库组成。
通常我理解的提交/推送的正确方法如下:
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解决方法是什么?
手动修改主仓库中的.hgsubstate文件并提交/推送它?
如果是这样,我理解ID的第一部分是最后一个子仓库变更集的提示,但ID的其余部分呢?它是如何产生的?
OR
等待下一次提交/推送,以便使用最新的变更集修复.hgsubstate文件?
OR
提交并推送虚拟变更集?
OR
别的......
答案 0 :(得分:1)
我不知道我是否正确理解了您的问题,但对我而言,似乎正确的方法是进入子程序执行拉动和更新,然后步出主回购并执行提交/推送。
请参阅https://www.mercurial-scm.org/wiki/Subrepository#Synchronizing_in_subrepositories