理工系研究者のための Mac OS X, Windows, Linux メモ
 
ホーム >> プログラミング >> Git Tips >> MercurialのリポジトリをGitピポジトリに変換するには
このエントリーをはてなブックマークに追加

MercurialのリポジトリをGitリポジトリに変換するには

作成日:2015.5.31

はじめに

MercurialリポジトリからGitリポジトリに変換するためのスクリプトfast-exportを使ってMercurialのリポジトリをGitリポジトリにに変換できます。

Mercurialリポジトリのコミットのユーザー名を揃える

Mercurialリポジトリに登録されているコミットのユーザー名をGitの形式に合うようにあらかじめ修正する必要があります。 Mercurialのユーザー名を全て

Taro Yamada <taro@example.com>
のように「名前+半角スペース+<メールアドレス>」の形式に揃えます。 Mercurialではusernameにユーザー名とメールアドレスをまとめて登録するのに対して,Gitではユーザー名とメールアドレスを別々に設定することになるので,あらかじめ決まったフォーマットに揃えることでユーザー名とメールアドレスを分離できるようになります。

Mercurialでのユーザー名の修正方法は『コミットのユーザー名を変更する』のページをご覧ください。

MercurialリポジトリをGitリポジトリに変換する

fast-exportを使って変換します。

リンク先からダウンロードするか,wgetコマンドを使ってソースコードを取得できます。

$ wget https://github.com/frej/fast-export/archive/master.zip
$ unzip master.zip

空のGitリポジトリを準備します。ここでは仮に「hoge」としますが,Mercurialリポジトリの名前に合わせておくと良いと思います。

$ mkdir hoge
$ git init hoge
$ cd hoge
そして,先ほど展開しておいたfast-exportを使ってMercurialリポジトリをGitリポジトリに変換します。
$ /somedir/fast-export-master/hg-fast-export.sh -r path/to/Mercurialリポジトリ

最後にGitの作業ファイルを取得します。

$ git checkout

参考サイト・参考文献

関連するページ