Subversion から Mercurial へ移行する奮戦記 その1

はまって何がなんだかわからなくて、ぐちゃぐちゃです。
思い出せる範囲で記録することにしました。

  • 環境
    • Windows Vista 64bit にて trac 0.11.5.ja を利用
    • python2.5 32bit (かなり昔に入れたのだが 64bit で不具合があったので。原因は覚えてない。)
    • Eclipse 3.6 にて、プロジェクトは SVN で行っていた。

Mercurial 1.8.4 64bit を入れる。ホームディレクトリに .hgrc を用意して

[extensions]
hgext.convert=

(恐らく) = の後に対象をいれると、それをコンバートしてくれる。なければ調べてコンバートする。
hg convert すると出来ませんメッセージが出る。 convert するには python script が必要らしい。
アンインストールして、easy_install mercurial で入れようとするが、バイナリを作れといわれる。mingw つかってとか。
なんとなくローカルでやった方が良いと思い、ソースをダウンロードして展開して作業を続ける。
mingw は入れてあるので、build したら msgfmt がないと言われる。最小構成でいれてたからないんだった…。しかたなく最新版を入れる。
そして、気を取り直して build したら msgfmt がクラッシュする。
mingw のバージョンかと思い、古いのを探すが無い。
しかたなく、Cygwin を入れてみたが、package 選択に無い。gcc も無い。わけがわからなくなる。
ふと思いついて、GnuWin32 の msgfmt でやってみることにした。mingw を先に呼ばれないように、パスは mingw より前へ配置。
で、mo ファイルが作られるようになったのだが、今度は dllwrap が base85 の作成に失敗する。VC 2003 なら出来るようだが持って無い。
ここまで苦労しなくても python2.5 用の バイナリがあれば良いのだが、本家にあるのは 2.6 。どこかに転がっている気がして探したが見つけることが出来なかった。
ここまでで、疲労困憊。TortoiseHG に逃げることにした。TortoiseHG は、convert できる事を知ったから。
なぜ逃げるのかというと、TortoiseSVN は入れてあったので、このまま残すのか? 二つメニューに出すのか? とか気にしていたからである。実際使ってみると、まったく気にならない。はじめから(ry
OS を再起動しなくても、ログオフしてログインすると使えるのに感動した。
convert するときは、リポジトリを指定するのではなく、Checkout したモノに対してやる。
mercurial.ini に convert を入れると説明してあるブログが多かったが、ホームディレクトリの .hgrc に既に書いてあったので、そのままでいけた。
GUI(エクスプローラー) から convert 出来ないみたいです。MS-DOS プロンプトからコマンドで使ってください。
指定したフォルダに .hg が出来る。これが Mercurialリポジトリ

総評
Windows なら TortoiseHG を素直に入れておけ!

Subversion から Mercurial へ移行する奮戦記 その2 へ続きます

●関連記事
 Subversion から Mercurial へ移行する奮戦記 その2
 Subversion から Mercurial へ移行する奮戦記 その3