将Mercurial存储库移至现有git存储库的子目录

时间:2019-06-14 15:25:12

标签: git mercurial

如何将Mercurial存储库移至现有git存储库的子目录中?

快速导出和其他方法使用空的仓库

2 个答案:

答案 0 :(得分:0)

简短答案

没事

更长的答案

因为:

  1. 盒子里的Git不能直接与Mercurial仓库一起使用
  2. 回购文件夹中的回购是Git的submodulessubtrees(子树更好-头痛更少-方式)

您有:

  1. 将Mercurial存储库转换为Git
  2. 以您喜欢的方式在父母中使用此Git-repo

答案 1 :(得分:0)

在我的评论中扩大一点:

  1. 使用带有--filemap选项的hg convert功能来修改现有的HG存储库,以使文件夹结构看起来像您想要的。例如,将所有内容移动到名为/from_hg的子文件夹中。

  2. 使用hg-git之类的可用工具之一,将修改后的hg存储库转换为git存储库

  3. 从已转换的git repo合并到您的主要git repo。现在,您的git repo中将有子文件夹/from_hg。您的git repo有两个不相关的起点。我认为这与Linus Torvald的“ coolest merge ever”非常相似。

此过程有点类似于https://stackoverflow.com/a/15223912/3195477