BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Google Code Gets Git

Google Code Gets Git

Leia em Português

This item in japanese

Bookmarks

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 hg.java.net 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 wiki.projectname.googlecode.com/git (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

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • So sad for mercurial

    by Mao Sheng,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The remark for the mercurial share is so sad, but it is true, which makes it more sad.

  • Kiln uses Mercurial

    by Roopesh Shenoy,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Remember the good folks at FogCreek, guys behind Stackoverflow/StackExchange, and makers of FogBugz? Well they also make Kiln which is based on Mercurial. I don't know if they count as a big player, but they are pretty smart and respected folks..

  • The backend is Dulwich

    by Don Brown,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    From the HackerNews thread, the word is the git implementation is Dulwich.

  • There are other "significant players" still using Mercurial

    by Mark Reinhold,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    OpenJDK is not the "only significant player still using Mercurial". Python and Mozilla are at least as notable.

  • Re: So sad for mercurial

    by Roger Pack,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    What remark? what share?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT