使用开源工具 fast-export
mercurial 代码库目录为 /home/code_mercurial
步骤如下:
1. 下载fast-export
$git clone git://repo.or.cz/fast-export.git
假设下载在home目录,目录结构为 /home/fast-export
2. 新建一个目录并且把它初始化为git库
$mkdir code_git
$cd code_git
$git init
3. 使用fast-export工具进行转换
在code_git目录下
$/home/fast-export/hg-fast-export.sh -r /home/code_mercurial
如果遇到Error: repository has at least one unnamed head:... 做以下两件事:
1) 在code_mercurial目录下执行
$hg bookmark -r default master # make a bookmark of master for default, so a ref gets created
然后 push 再pull
2) 如果依然报error,加个force参数,这样
$/home/fast-export/hg-fast-export.sh -r /home/code_mercurial --force
4. 在code_git 目录执行
git reset HEAD
搞定!