从Mercurial迁移到Git

时间:2013-07-31 12:24:11

标签: git version-control mercurial version-control-migration

我知道这个问题在几次之前被问过并标记为“可能重复”,但它们似乎都没有正确。我试过快速导出,它给出了错误。任何人都可以帮助如何从Mercurial迁移到Git?我需要历史。如果它被逐步列出,将不胜感激。

更新

我试过快速导出:

cd ~
git clone git://repo.or.cz/fast-export.git
git init git_repo
cd git_repo
~/fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo **[I get error in this line]**
git checkout HEAD

这给出了错误:

..... hg-fast-export.sh:第79行:python:未找到命令

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

  1. 将hg-git添加到Mercurial
  2. 将hg-repo推送到git-target
  3. 循序渐进指南

    Hg-Git Extension克隆到it's repository到某些本地路径\ TO \ HG-GIT

    B在(global mercurial.ini或特定于存储库的.hgrc)

    中启用扩展
    [extensions]
    bookmarks = 
    ...
    hggit = PATH\TO\HG-GIT
    

    书签是很久以前添加的,当这个扩展不是TortoiseHG | Mercurial的一部分时,不确定今天的配置

    C创建具有读写访问权限的新Git存储库(或记住现有的?!)

    D从p添加Git-repo。 C进入Mercurial存储库的.hgrc的[paths]部分,您希望以任何名称在Git中导出。我的本地Mercurial存储库的示例,它在Github上有Git-mirror

    [paths]
    default = git+ssh://git@github.com/lazybadger/Fiver-l10n.git
    

    E之后,您可以像Mercurial一样使用Git-repository作为常用的远程存储库,并且作为第一个操作(对于创建的空Git存储库),您必须推送到新的远程

    F检查Git-repository的存在情况,并在推送

    之后将Mercurial镜像到其中的完整历史记录

    G按常规方式使用Git-repository

    本指南中使用的来源

    • WP-theme的本地Mercurial存储库,具有非常简单的线性历史记录

    Local repo in Workbench

    Mirror