![]() |
a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects. |
11月1日(米国時間)、分散型バージョン管理システムMercurialの最新版となる「Mercurial 2.0」が公開された。MercurialはPythonで開発された分散型のバージョン管理システム。GoogleがGoogle Codeのバージョン管理システムとして採用したり、MozillaがFirefoxの開発に採用するなど、Gitと並び人気の高いバージョン管理システムとされている。
Mercurial 2.0の最大の特徴は「ラージファイルエクステンション」と呼ばれる大規模ファイルに対応する機能が追加された点にある。Mercurialは圧縮バイナリデルタに基づくストレージフォーマットを採用しているため、基本的に圧縮しにくく、そして差分が取りにくい大規模なバイナリファイルの扱いを苦手としている。今回追加された「ラージファイルエクステンション」は中央集権型のクライアント・サーバモデルを採用することでこれに対応するというもの。ユーザは必要になったときにだけ必要な大規模バイナリファイルをダウンロードするようになり、無駄な帯域の使用が削減されることになる。
また、コア機能として「graft」コマンドが追加された点も興味深い。これはいわゆるバックポートを実施するためのコマンド。履歴グラフにブランチマージの情報を記載することなく、特定のブランチから個別の変更を取得してマージできるようにする。デフォルトではユーザ、データ、説明のデータがマージ対象として利用される。
