Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Google Code Gets Git

Google Code Gets Git

Leia em Português

This item in japanese

Today, Google Code flipped the switch on supporting Git repositories. Previously, Google Code only supported Subversion and Mercurial repositories, citing an investigation dating back to 2008. The official announcement subsequently appeared.

With the meteoric rise of GitHub and the number of projects using GitHub storage with Google Code issue trackers, combined with the fact that the Eclipse Labs hosting has by and large been replaced with a bidirectional sync with GitHub, as well as the on-going Juno Git migration, Google Code was in danger of being sidelined for non-Git repositories. A Support FAQ is available, clarifying that the "smart http" protocol is required (with a base Git version of 1.6.6 required). In addition, the Eclipse Labs has gained Git support as well.

Partially, the Mercurial bias was due to Google's existing Python infrastructure, and the fact that it could map to the GFS back end in a simpler fashion than Git. However, with the release of Eclipse Indigo and the inclusion of JGit 1.0, it became possible for Google to integrate their back-end with a more up-to-date front end. Having said that, several other bindings exist for Git, such as the more open libgit2, which itself has spawned several language forks such as pygit2, which brings Git interoperability into the Python language.

Google doesn't say exactly what the implementation back-end is using, but the front-end effect is immediate; if you have an existing Google Code project, you can create a Git repository. The same is still true for new projects, which get a choice which repository you want to use.

It's unlikely that support for either Mercurial or Git will be dropped from Google Code in the future, but the days of SVN are likely to be numbered. The only major player whose future is bet on Hg is Bitbucket, who were acquired by Atlassian less than a year ago. The only significant player still using Mercurial is the OpenJDK forest at which is the development ecosystem that Sun initially set up.

Whatever the implementation or reasons behind it, Google Code's availability of Git repositories is only likely to swing the balance towards Git as the de-facto repository of choice for new and existing open-source projects.

Update It is possible for existing projects to switch over to Git repositories. However, note that the Wiki content of the project is also stored in a version controlled repository; in the case of SVN, in the /wiki directory, and in the case of Git or Hg in separate domains at (or /hg). As a result, when you move from one repository format to another, you need to ensure your Wiki pages are migrated, since they're not migrated automatically for you. Projects that are using Google Code for wiki/issues but GitHub for sourcing would be advised to make a local Git copy of the wiki (with Git svn clone, for example) prior to switching over, in order to minimise the wiki page downtime.

Rate this Article