我一直在尝试使用 bitbucket 设置一个项目,该项目的项目依赖项托管在 github 上。使用 Hg-Git Mercurial 插件我几乎可以做到这一点。
但到了推动的时候,事情就变得麻烦了。
的文档Mercurial 子存储库 https://www.mercurial-scm.org/wiki/Subrepositories states:
2.4 Push
当您推送时,Mercurial 将自动尝试首先推送当前存储库的所有子存储库。这将确保子存储库中的新变更集在被顶级存储库引用时可用。
但这会导致一个大问题,因为我不想推送所有子存储库(为什么要推送?)——我只有对它们的读取权限,所以 github 不允许这样做。只需将主存储库推送到远程服务器,但我不知道该怎么做。hg
想要控制并推送所有子存储库,无论是否有更改。有什么方法可以绕过这个feature?
唯一需要推动的是.hgsub
and .hgsubstate
。一旦它们通过替代路线推送(更新到子存储库不存在的变更集),就可以更新并从远程存储库中提取更改,但是如果我要在使用以下命令的变更集上再次推送子存储库中,整个考验会重演。
为了供将来参考,mercurial 的开发分支(以及即将发布的 1.8 版本)现在支持本机 git subrepos。这种特殊情况的实现非常好,如果不知道远程存储库是否有当前提交,则来自根存储库的推送只会告诉 git 子存储库进行推送。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)