来自Hg repo的git子模块?

Bra*_*ick 21 git mercurial git-submodules

我有一个非常古老的项目,直接包含来自另一个项目的源代码,而不是将其作为库链接.回到糟糕的日子,当我将所有内容保存在CVS中时,我在供应商分支上有外部代码并定期导入.既然我的项目是在git中,那么将外部项目作为子模块包含起来会更有意义.但是,存在一个问题:外部项目已迁移到Mercurial.我找到了git-hg和hg-git项目,但我不确定是否有人正确处理子模块.

有没有办法创建一个指向Hg仓库而不是git仓库的git子模块?

Von*_*onC 12

由于hg-git确实提到了不支持子模块,因此只留下一个手动选项:

  • 在你有推送权限的地方设置一个Git存储库,
  • 然后将其添加为Git遥控器
  • hg gpush从你的项目中运行.

例如:

$ cd hg-git # (an Hg repository)
$ hg gremote add origin git@github.com/schacon/hg-git.git
$ hg gpush
Run Code Online (Sandbox Code Playgroud)

那个Git repo将代表你的子模块,但如果你修改并推送那个子模块,你仍然需要从那个Git repo拉到实际的Hg repo.

其他伟大的git-hg命令列在这个" rosetta stone "中.