seezoo cmsがリポジトリに「BitBucket」というのを使うということで、
なんじゃそれ?と思って調べたら、
「Mercurial」という分散バージョン管理の
オープンソース用リポジトリだということが判明。
恥ずかしながら私「Mercurial」というものを知りませんでした。
調べると、Pythonで実装された分散バージョン管理システムで、
OpenSolarisやNetBeansなどのJavaの実装や
Pythonのオープンソースプロジェクトの管理に使われているとのこと。
同じ分散バージョン管理である「Git」と双璧をなす感じのものらしい。
(Subversionは集中型なのでちょっと方向が違うのでお間違えなく。)
GitとMercurialの開発スタートはともにBitKeeperが商用のみになり、
代わりとなる分散バージョン管理システムをつくりはじめたという似た歴史をもつらしく、
そういった経緯から、ともに機能を取り入れつつ発展してきた経緯がある。
ということで、内部的な動作を除いては、
基本的にはGitのようなものだと考えてよさそう。
前述のBitBucketは、公開リポジトリは当然自由で無料。
たしかGitHubは無料で使えるのは公開リポジトリのみだったと思うが、
BitBucketは5ユーザまでのプライベートリポジトリも無料らしい。
しかも容量制限なし。
なにそれ!?いいじゃん!!
コマンドラインで使う場合は「hg」というコマンドを使う。
「Mercurial」は「水銀」という意味なので、
水銀の元素記号である「Hg」からとったのだと推測。
オサレ!!
ちなみに「Mercurial」というソフトウェア名の由来は
水銀の方ではなくて、ギリシャ神話の「マーキュリー」に由来するとのこと。
hg clone hg add hg commit
コマンドもGitとよく似ていますな。
インストールなどなどは、先日東京で行われたCodeIgniterカンファレンス東京での、
SuzukiKenjiさんのセッションの資料が、
簡潔なのでそちらにゆずります http://handsout.jp/slide/3550
Windowsでは、バージョン管理システムのクライアントのお決まりである、
「Tortoise」シリーズの「TortoiseHG」が出ていて、
これを使えば簡単。
TortoiseGitに比べて早い段階から安定した動作をしていたようです。
素晴らしい!
私のメイン環境であるMacでは、
まぁMacPortsでMercurialをインストールするのが簡単。
コマンド使える人は、ターミナルでゴニョゴニョすればOKなんだけど、
MacHgという使いやすいGUIクライアントがでてる。
これがなかなか完成度が高くて、かっちょくて、しかも無料!
全く不具合がないというわけではないようですが、基本的な動作を行わせてみたところ、
ほぼ問題なく動きました。
Gitだと、GUIクライアントでいいなと思えるのは、
@ahomuさんが
ブログでオススメしている「TOWER」くらいしかなく、
私も無料のだとひと通り試したものの、うーんとなる結果が多かったので、
この点でもMercurialが有利かなと。
その他、Mercurialはpythonで書かれているので拡張がしやすく、
subversionクライアントとして使える拡張なども配布されているようです。
いろいろ調べると、
GitとMercurialを両方かなり使い込んだ方の意見としては、
Gitのが上という意見が多いみたいです。
そして、いかんせん最近はGitブーム。。。ユーザー数としてはGitのが上ですよね。。。
いいことばかりではないです。
ただ個人的にはGUIクライアントが安定しているMercurialで行きたい。
というわけで、これからはMercurial。
すでに、Gitで動いてるプロジェクトもあるので、
まぁ両刀遣いな方向で。