我有一个非常旧的项目,其中直接包含另一个项目的源代码,而不是将其链接为库。回到糟糕的日子,当我将所有内容都保存在 CVS 中时,我将外部代码放在供应商分支上并定期导入。现在我的项目位于 git 中,将外部项目作为子模块包含进来会更有意义。但是,有一个问题:外部项目已迁移到 Mercurial。我找到了 git-hg 和 hg-git 项目,但我不确定其中任何一个是否可以正确处理子模块。
有没有办法创建一个指向 Hg 存储库而不是 git 存储库的 git 子模块?
自从hg-git http://github.com/schacon/hg-git/tree/master确实提到尚不支持子模块,因此只剩下手动选项:
- 在您有权推送访问的地方设置一个 Git 存储库,
- 将其添加为 Git 远程,然后
- run
hg gpush
从您的项目中。
例如:
$ cd hg-git # (an Hg repository)
$ hg gremote add origin [email protected] /cdn-cgi/l/email-protection/schacon/hg-git.git
$ hg gpush
该 Git 存储库将代表您的子模块,但如果您修改并推送该子模块,您仍然需要从该 Git 存储库拉取到实际的 Hg 存储库。
其他很棒的 git-hg 命令列在这个“罗塞塔石碑 https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone".
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)