来自 Hg repo 的 git 子模块?

标签 git mercurial git-submodules

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

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

最佳答案

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

该 Git 存储库将代表您的子模块,但如果您修改并推送该子模块,您仍然需要从该 Git 存储库 pull 到实际的 Hg 存储库。

rosetta stone”中列出了其他很棒的 git-hg 命令。

关于来自 Hg repo 的 git 子模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072602/

相关文章:

git - 使用 git 处理静态库修订(即二进制文件)的见解

php - 从 github 下载 Laravel 项目

git - git 能否检测到重命名,其中删除发生在添加之前的提交中?

git - Wiki.js不适用于预先存在的存储库

iphone - iPhone 项目的 Mercurial 分步指南?

Mercurial:创建两个提交的差异

mercurial - hg convert - 尝试将目录从一个 repo 移动到另一个 repo

python - python3 中没有名为 copy_reg 的模块

git - 如何在本地更改 git 子模块 url?

git - 如何撤消 "git rm -r -f * "