从Mercurial到Git贡献补丁?

时间:2012-06-26 14:12:44

标签: git mercurial repository

我想分叉一个Git存储库,将其转换为Mercurial,并在完成后将我的更改贡献给原始的Git存储库。我更关注安全稳定的转换过程而不是方便。我会{G}定期更改Git到Mercurial,但很少回复任何更改。

我不习惯使用hg-git,因为针对该项目报告的许多错误多年来都没有得到答复。我怀疑使用pull将Git转换为Hg比使用hg convert更安全。

我的问题是:说我已经将存储库转换为Mercurial并进行了一些更改,如何将这些更改贡献回官方存储库?我想将我的更改贡献回来到官方的Git存储库而不会丢失任何历史信息(也就是说,我不想将多个更改集折叠成一个)。

最简单,最安全的方法是什么?

1 个答案:

答案 0 :(得分:8)

您可以尝试将Mercurial提交导出为补丁:

hg export --git -r 1 >patch.diff

.diff文件应由Git识别,并可以git apply添加到git仓库。
(这是在“Convert a Mercurial Repository to Git”中提出的,其中还提到了更新的script hg-fast-export

hg export--git选项将确保您以git扩展diff格式生成差异。有关详细信息,请参阅hg help diffs