8

我想派生一个 Git 存储库,将其转换为 Mercurial,并在完成后将我的更改贡献回原始 Git 存储库。我更关心安全稳定的转换过程,而不是它的便利性。我会pull定期将 Git 更改为 Mercurial,但很少回馈任何更改。

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

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

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

4

1 回答 1

8

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

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

这个.diff文件应该被 Git 识别,并且可以添加到 git repo 中git apply
(这在“将 Mercurial Repository 转换为 Git ”中提出了建议,其中还提到了更新的脚本)hg-fast-export

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

于 2012-06-26T15:55:45.720 回答