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

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機能を採り入れているという。
という項目があったという。
関連リンク
関連記事
情報をお寄せください:
TechTargetジャパン
- 実例で学ぶRailsアプリのテスト方法 (2011/12/22)
具体的なWebアプリを例に簡単なテストを使ったリファクタリングについ
て解説する - Railsの人気テストフレームワーク6選! (2011/8/18)
今回からテストを使ったリファクタリングを解説する。まずはRailsで人
気のあるテストフレームワークをいくつか紹介する - ActiveRecordの更新系操作 (2011/6/27)
Railsのモデル層を担当するActiveRecordを使った登録、更新、削除
など、更新系の機能を中心に見ていきます - 実例アプリで学ぶ“Railsらしさ”の基礎 (2011/5/26)
Ruby on Railsで書かれた実例アプリを取り上げて、初心者が陥りがちなコードの書き方を指摘します。より「Railsらしい」コードとは?
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
