2011年2月27日日曜日

Mercurial:MacOSXでGUIのdiff/mergeツールを使用する

MacOSX の開発環境 "XCode" には GUI の diff/merge ツールである FileMerge が含まれています。これを Mercurial の外部ツールとして使用するよう設定してみました。

コマンドラインからの FileMerge の起動指定

コマンドラインから FileMerge を起動するには opendiff というコマンドを使用します。.hgrc に、  

[extensions]
hgext.extdiff =

[extdiff]
cmd.opendiff =

と指定することで opendiff というサブコマンドが使用できるようになるので、それを指定すると

$ hg opendiff
FileMerge が起動します。

FileMergeで日本語を使用する

FileMerge は日本語の対応に問題があり UTF-8 等の文字コードを使用した場合に文字化けしてしまいますが、環境設定でフィルタを指定して変換することで正しく表示することが可能です。標準でインストールされている /usr/bin/iconv は文字コードの指定が必要で使いにくいため、ここでは自動で判定/変換してくれる nkf を MacPorts でインストールして使用しました。

$ sudo port install nkf
環境設定でフィルタに nkf を指定します。FileMerge は Shift-JIS は文字化けせずに表示できるので出力指定を -s とします。 これで FileMerge で日本語を使用できるようになりました。

0 件のコメント:

コメントを投稿