決め手はSubversionからの移行の容易さとHTTPとの相性

Google CodeがGitではなくMercurialを採用へ

2009/04/28

 米グーグルは4月24日、ソフトウェア開発プロジェクトのホスティングサービス「Google Code」で、これまでのSubversionに加えて分散バージョン管理システム(DVCS)の「Mercurial」のサポートを開始すると発表した。現在はプレビューリリースで、一部のプロジェクト利用者に提供。一般リリースに向けて、いくつかの課題を解決していくという。Google Codeでは、Mercurialサポートのために、一般のMercurialがオブジェクトの保存に使うOSネイティブのストレージに代えて、グーグルの分散データベースシステム「BigTable」を使うように書き換えたという。

googlecode01.png

 DVCSとしては、MercurialのほかにGitやBazaarが知られている。従来からある中央管理型のバージョン管理システムに比べて、分散開発がやりやすいことから、普及が進んでいる。例えばGitではLinuxカーネルだけでなく、Samba、Fedora、Ruby on Rails、GNOMEなど多くのOSSプロジェクトがGitを採用している。Mercurialを採用するプロジェクトとしては、NetBeans、nginx、ntfs-3g、OpenJDK、OpenSolaris、Python、XEmacs、Xenなどがある。プロジェクトホスティングサービスでは、GitHub.comがGit利用者の間で人気が高まっているほか、老舗のSouceForge.netも2009年3月にはGit、Mercurial、Bazaarのサポートを開始している。

【参考記事:分散バージョン管理Git/Mercurial/Bazaar徹底比較

 こうした流れからグーグルがDVCSのサポートを進めているのは自然なことだが、注目は、最近勢いを増しているGitではなくMercurialを採用したことだ。

 Mercurialサポート計画の発表と同時にグーグルが公開した比較分析資料によれば、GitではなくMercurialを採用した理由は以下の通り。

  • 学習曲線。Gitは多くのコマンドとオプションがあり、初心者には取っつきにくい。Mercurialはドキュメントも整備されていて、初学者に親切。SubversionやCVSといった過去のツールと、用語やコマンドが似ている。
  • Windowsサポート。GitはLinux由来の特色が強く、Windowsプラットフォームで正しく使うにはCygwinを利用する必要があること。
  • メンテナンス性。Gitはgit-gcなど、レポジトリの定期的なメンテナンスが不可欠。
  • ヒストリの重要性。Gitは非常に強力で、コマンドを叩けばあらゆる操作が可能。リモートサーバ上のレポジトリもコマンド1つで消えてしまう可能性があり危険。一方、Mercurialは変更不可のオブジェクトが蓄積していくだけ。
  • ステートレスなHTTP接続を使った場合のネットワークのパフォーマンスの良さ。

 一方、Gitが有利な点としては、

  • Client Storage Managementの存在。Gitでは古いリビジョンのオブジェクト削除など、ローカルのストレージ管理が柔軟にできる。
  • マージの際に親リビジョンの数に制限がない。Mercurialでは2つだけ。複数リビジョンのマージを1つずつ行う方法が好ましいものの、一気に複数のリビジョンをマージしたいときに、Gitは1度の操作で行える。
  • Rebase機能。Gitではブランチを作成した後に、その派生元を切り替えることができる。ただし、グーグルがGitとMercurialを比較検討した後に、MercurialはRebase機能を採り入れているという。

という項目があったという。

関連リンク

(@IT 西村賢)

情報をお寄せください:


TechTargetジャパン

Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

ソリューションFLASH

「ITmedia マーケティング」新着記事

読売新聞社がコンテンツマーケティング事業に参入、「YOMIURI BRAND STUDIO」を設立
読売新聞社は企業のコンテンツマーケティングを支援するため「YOMIURI BRAND STUDIO」を...

電通と日本マイクロソフト、視線検知を活用した人工知能型屋外広告を提供開始
電通と日本マイクロソフトは、リアルタイムオーディエンス分析と視線検知によるインタラ...

ぴあ、「PIA DMP」とGoogle「DoubleClick Bid Manager」を連携したコンサルティングサービスを提供
ぴあは、DMPサービス「PIA DMP」において、Googleが提供するデジタル広告プラットフォー...