2007年は各プロジェクトにおいてSubversionを利用してきた。便利ではあったが、サーバを立てる必要があるのが面倒には感じていた。

ピクチャ 7-29

サーバを立てる必要なく、しかしバージョン管理は行いたい。そんなわがままをすっきり解決してくれるのがこのソフトウェアだ。

今回紹介するオープンソース・ソフトウェアはMercurial、分散型バージョン管理システムだ。

MercurialはMac OSX、Windows、Linuxとそれぞれ提供されているクロスプラットフォームなソフトウェアで、サーバ集約型ではないバージョン管理を行う。
ピクチャ 8-22

はじめにいずれかのPCでリポジトリを作成し、その後は各クライアントがcloneという形でリポジトリをコピーする。そしてそれぞれコミットをし、完了したらpushする。別なクライアントではそれをアップデートすれば反映される。

ごくシンプルな仕組みではあるが、タグ、ブランチ、Diff、マージ、Grep、ステータス、ロールバック等、便利なコマンドが揃っている。尚、MercurialはPythonで開発されたソフトウェアだ。とは言え、Windowsであればインストーラーもあるので簡単に使い始められる。

分散化リポジトリなので、コミットはローカルレベルにとどまる等、慣れるまで多少戸惑いがあるかも知れない。だが、オフライン時にもコミットを行える等便利な使い方も考えられる。個人から中規模、大規模と大小かまわず対応する。今年はMercurialを活用していこう。

Mercurial - Mercurial
 http://www.selenic.com/mercurial/wiki/