gitのリポジトリをmercurialに変換する

半ば思いつきでgit使ってみたのだけれど、やっぱmercurialのが何となく好きだなぁと思った。 思ったのでmercurialに移動したいのだけれど、中途半端に出来上がったこのリポジトリはどうすれば良いんだ。少し調べてみた。

どうやら、mercurialのプラグインとして変換できるやつがあるらしい。というか入ってるらしい。というか入ってた。

とりあえずコピーしてくる。しなくてもいいと思うけれど、何かあると怖いので。

$ git clone /path/to/repository/

ここではローカルにあるリポジトリですが、githubとかから引っ張ってきてもなんの問題もないです。

で、変換。

$ hg convert repository new-repository
hg: 未知のコマンド 'convert'
以下のエクステンションにより  'convert' が提供されています:

    convert       他の構成管理ツールから Mercurial への履歴取り込み

"hg help extensions" で有効なエクステンションの情報が表示されます

怒られた。

どうやらエクステンションは自分で有効にしないといけないらしい。 なので有効化。

適当なエディタで~/.hgrc辺りを開いて

[extensions]
convert =

ということを書く。

もっかいやってみる。

$ hg convert repository new-repository
変換先リポジトリ new-repository の初期化中
変換元リポジトリの走査中...

以下略

動いた。

$ cd new-repository
$ ls

なんもない。

なんもないけど、

$ hg up

これで表示されるようになります。

何かびっくりするほど簡単に変換できてしまった。 変換しやすいとなると手軽に使い始められて良いね。素敵。

参考:[参考] GitからMercurialへの変換 - Bitbucket ドキュメンテーション - アトラシアン日本語ドキュメント