みなさんは仕事でCVSやSubversion、Visual SourceSafeなどのバージョン管理システムを利用しているでしょうか。これらメジャーなバージョン管理システムはいずれも、サーバを立てて1つのリポジトリを管理する中央集権的なものです。
それに対して、開発者ごとにリポジトリを持ち互いのリポジトリと同期させる方式を持った分散バージョン管理ツールもあります。Mercurialはその一つで、ほかにはLinuxやRuby on Railsが採用しているgitなどがあります。
記事では、Subversionとほぼ同じ感覚でコマンドが使えるMercurialの使い方を一通り説明しています。主なコマンドは表1のようになります。
表1 Mercurialの主なコマンド()
動作説明 | コマンド |
カレントをバージョン管理する | hg init |
ファイルを追加する | hg add |
コミットする | hg commit |
diffをとる | hg diff |
状態を確認する | hg status |
HTTPサーバを立ち上げる(Webブラウザで閲覧できる) | hg serve |
ブログ筆者は一通り使ったあとに「Subversionなどの集中型のバージョン管理ツールよりも難しい印象があったけど、むしろそれよりもわかりやすくて便利」とまとめています。
EclipseやNetBeansのプラグイン、WindowsクライアントのTortoiseHgがあるなど、周辺ツールが比較的充実しているのも魅力の一つです。
ちなみに私が自身のMacで試したところ、コミット時に
transaction abort!
rollback completed
abort: unknown encoding: X-MAC-JAPANESE, please check your locale settings
とエラーが出ましたが、シェルで「export HGENCODING=UTF-8」のように環境変数を設定すると回避できるようです。
URL:http://www.machu.jp/diary/20080311.html#p01