Google Code は今日,Git レポジトリのサポートを 開始した。これまで Google Code では,2008 年にまで遡る 調査結果を理由に Subversion と Mercurial のリポジトリのみをサポートしていた。
華々しく登場した GitHub を,多くのプロジェクトが Google Code のイシュートラッカに組み合わせて使用するようになったこと,Eclipse Labs Hosting プロジェクトの多くが GitHub との双方向同期に移行しつつあること,さらには着実に進む Juno Git マイグレーション などによって,Google Code は非 Git リポジトリであるゆえに傍流に押しやられる危機に瀕していた。公開された サポート FAQ には,"smart http" が必要であることが明記されている (つまり Git バージョンは 1.6.6 以降でなければならない)。さらに Eclipse Labs でも Git のサポートが進められている。
Mercurial が偏重されていたのは,ある部分は Google に既存の Python インフラストラクチャのためであり,あるいは Git よりも GFS バックエンドへのマップが容易であるという事実のためであった。しかしながら,Git 1.0 を統合した Eclipse Indigo がリリースされたことで Google は,さらに新しいフロントエンドを同社のバックエンドに統合することが可能になった。もっとも,Git のバインディング自体は他にもある。例えば,さらにオープンな libgit2 からは,Python 言語で Git の操作を可能にする pygit2 を始めとする,各種言語対応の派生バージョンが存在する。
バックエンドの実装が何であるか,Google は詳細を発表していないが,フロントエンドでの影響は明確だ。すなわち Google Code プロジェクトをすでに所持していれば,Git リポジトリを生成することが可能になる。同じことが新規プロジェクトにも当てはまり,使用するリポジトリを選択できる。
Mercurial あるいは Git のサポートが Google Code から外されるとは今後も考えにくいが,SVN に関しては,将来的にサポート期間の限定もあり得るだろう。Mercurial 側に賭ける大手ベンダは,1年ほど前 Atlassian に買収された Bitbucket ただひとつだ。Mercurial の利用を続ける大手ユーザもただひとつ,hg.java.net にある OpenJDK forest のみである。この開発エコシステムは,Sun が最初にセットアップを行ったものだ。
どのような実装や理由が背景にあるにせよ,Google Code で Git リポジトリが利用可能になったことは,新規および既存のオープンソースプロジェクトが選択するデファクトリポジトリのバランスを,Git 側に単に大きく傾けるだろう。
更新 既存のプロジェクトの Git リポジトリへの切り替えは可能だが,プロジェクト Wiki の内容もバージョン管理リポジトリ内に保存されている点に注意が必要だ。Wiki は SVN の場合 /wiki
ディレクトリに,Git あるいは Mercurial ならば wiki.projectname.googlecode.com/git (あるいは /hg) という別ドメインにストアされる。結論として,リポジトリを別のフォーマットに移動する場合,wiki ページのマイグレーションは自動的には行われないため,自分自身で確認する必要がある。Google Code を Wiki とイシュ―管理に,GitHub をソース管理に使用しているようなプロジェクトならば,移行に先だって Wiki のローカル Git コピーを (Git svn クローンなどを使用して) 作っておいて,wiki ページのダウンタイムを最小限にするのがよいだろう。