Mercurial ~ インストールと設定

hgコマンド

Mercurialのコマンド名はhgです。Mercury(水銀)の元素記号ですね。もちろんLinuxではシェルから使いますし、私の場合、Windowsでもコマンドラインから使っています。Windows向けには、エクスプローラに結合するTortoise(トータス、亀)版というタイプもあるので、コマンドラインが苦手な人はそちらを使いましょう。

Windowsの場合

インストール

当たり前ですが、公式サイトからダウンロードしてインストールします。いくつか種類があるので、お好みで。

  • 32bit用か、64bit用か
  • コマンドライン版か、Tortoise版か
  • python込みかどうか

私は、32bit用のコマンドライン版 Version1.6(Python 2.6込み)を使っています。

設定

環境変数path

コマンドラインから使用するので、hg.exeのフォルダへパスを通しておきます(ひょっとするとインストーラが面倒を見てくれるかもしれませんが)。

設定ファイルのパス

hgは、以下の順に設定ファイルを検索します。

  1. %USERPROFILE%\.hgrc
  2. %USERPROFILE%\Mercurial.ini
  3. %HOME%\.hgrc
  4. %HOME%\Mercurial.ini

設定ファイル

設定ファイルの内容は、こんな感じです。

[ui]
username = Your Name <and_mail@domain.com>
editor = c:\path\to\favorite\text\editor.exe
merge = kdiff3

[merge-tools]
kdiff3.executable = c:\wintls32\kdiff3\kdiff3.exe
kdiff3.args = $local $base $other -o $output

[alias]
ll = log --style compact -l 3

usernameエントリは、コミット時にログへ記録される文字列です。aliasセクションには、頻繁に使用するコマンドとオプションの組み合わせを登録しておきます。mergeエントリとmerge-toolsセクションには、手動マージのときに使うツールに関する情報を設定しています(私の環境ではkdiff3というマージツールを使っています)。

設定ファイルには、上記以外にも様々な情報を設定できますが、ひとまず割愛しておきます。

日本語化

デフォルトでは、hgが出力するメッセージは英語になります。日本語で読みたい場合は、環境変数LC_ALLの値をja_JPに設定して下さい。

hgが日本語のファイル名に対応できるのかどうかは分かりません。あんまり期待しない方が良さそうです。

日本語ファイル名に関する問題の一つに、エスケープ文字'\'の問題があります。例えばWindowsで「一覧表.xls」というファイル名を使うと、「表」の文字コードはSJISで0x955cなので、2バイト目がエスケープ文字に見えてしまいます。そのため、ファイル名を正しく解釈できません。

幸い、この問題は、Win32mbcsというエクステンションを有効にすると回避できます。このエクステンションはmercurialと共にデフォルトでインストールされているはずなので、設定ファイルに下記のように書くだけで有効化できます。

[extensions]
hgext.win32mbcs=

リポジトリをLinuxやMacで共有しないなら、これで何とかなるのかもしれません。

Linux(Gentoo)の場合

インストール

普通にemergeして下さい。私は、mercurialの1.5とpythonの2.6.4-r1を使っています。

設定

設定ファイルのパス

~/.hgrcです。

設定ファイル

設定ファイルの内容は、こんな感じです。

[ui]
username = Your Name <and_mail@domain.com>
merge = vimdiff

[merge-tools]
vimdiff.executable = vim
vimdiff.args = -d $base $local $output $other +close +close

[alias]
ll = log --style compact -l 3

usernameエントリは、コミット時にログへ記録される文字列です。aliasセクションには、頻繁に使用するコマンドとオプションの組み合わせを登録しておきます。mergeエントリとmerge-toolsセクションには、手動マージのときに使うツールに関する情報を設定しています(私の環境ではviを使っています)。

Windows用の設定ファイルにはuiセクションにeditorというエントリがありましたが、Linuxの場合は不要でしょう。普通は環境変数EDITORにテキストエディタのパスが設定されていると思います。

設定ファイルに関する詳細は、hgrcのmanページで読むことができます。

日本語化

特に意識しなくても、OSのロケール(環境変数LC_ALLかLANG)に準拠します。

hgが日本語のファイル名に対応できるのかどうかは分かりません。

Last modified:2012/06/18 16:27:39
Keyword(s):
References:[Mercurial(分散SCM)]
This page is frozen.