決め手は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機能を採り入れているという。
という項目があったという。
関連リンク
関連記事
情報をお寄せください:
- [ニッチ]E4Xで攻撃できる? できない? (2010/2/8)
ECMAScriptでXMLを扱う「E4X」。ニッチかもしれませんが、攻撃の可能性があることだけは知っておきましょう - GAE上でLL+RDBアプリを作ろう (2010/2/3)
開発者にとって魅力的な環境に映るGoogle App Engine。これまでの開発手法を変えずに使えないだろうか - 豆まきユースケースの包含 (2010/2/1)
デバッグが上手くいかず、気分転換にもらった豆をポリポリ。節分のユースケースを考え始めます - Apacheで仮想ホストを動かそう (2010/1/29)
1台のApacheサーバで、複数の公開サイトを提供するには? 仮想ホストの設定の意味を知ろう
|
|
スポンサーからのお知らせ
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |






