Hg 存储库中的 git 子模块?

发布于 2024-07-26 03:34:30 字数 263 浏览 7 评论 0原文

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

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

I have a very old project that includes the source from another project directly, instead of linking it as a library. Back in the bad days, when I was keeping everything in CVS, I had the external code on a vendor branch and did periodic imports. Now that my project is in git it would make more sense to include the external project as a submodule. But, there's a problem: the external project has migrated to Mercurial. I've found the git-hg and hg-git projects, but I'm not sure if either one handles submodules properly.

Is there a way to create a git submodule that points to an Hg repo instead of a git repo?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执手闯天涯 2024-08-02 03:34:30

由于 hg-git 确实提到尚不支持子模块,所以剩下只有手动选项:

  • 在您有权推送访问的地方设置一个 Git 存储库,
  • 将其添加为 Git 远程,然后
  • 从项目中运行 hg gpush

例如:

$ cd hg-git # (an Hg repository)
$ hg gremote add origin [email protected]/schacon/hg-git.git
$ hg gpush

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

其他很棒的 git-hg 命令列在这个“罗塞塔石碑”。

Since the hg-git does mention that submodules are not supported yet, that leaves only a manual option:

  • setup a Git repository somewhere that you have push access to,
  • add it as a Git remote and then
  • run hg gpush from within your project.

For example:

$ cd hg-git # (an Hg repository)
$ hg gremote add origin [email protected]/schacon/hg-git.git
$ hg gpush

That Git repo will represent your submodule, but if you modify and push that submodule, you will still have to pull from that Git repo to the actual Hg repo.

Other great git-hg commands are listed in this "rosetta stone".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文