Announcing Git Support for Google Code Project Hosting

Monday, July 25, 2011

We’re pleased to announce today that in addition to supporting the Subversion and Mercurial version control systems, Google Code Project Hosting now supports Git. Git is a popular distributed version control system (DVCS) like Mercurial, and it is used by many popular projects including the Linux kernel and Android.

Now, when you create a project or visit your existing project’s Administration > Source tab, you have the option of choosing Git as your version control system. You’ll enjoy all the same great Google Project Hosting features, like project updates, advanced issue tracking, and an easy-to-use VCS-backed wiki—only now, you can do it with Git. You can also create an instant server-side clone of any existing Git repository by clicking the “Create a clone” button on the project’s checkout page.

For more information, including an introduction to Git and tips on converting existing Subversion and Mercurial repositories, see the new Git section of our support wiki.

Under the Hood
Since our original announcement of Mercurial support, Git has grown significantly more popular and user-friendly, and on the technical side, it has added an efficient “smart” HTTP protocol that fits with Google’s HTTP-based infrastructure. (Note that this feature is only available in version 1.6.6 and later.)

Like our Mercurial implementation, our Git implementation stores object data in a custom data store built on Bigtable, which provides us with efficient, scalable source code repositories with near-instantaneous replication to multiple datacenters around the world. To fit with our existing Python-based system, our Git server implementation is powered in part by Dulwich.

By Dave Borowitz, Google Git Engineer, with thanks to Augie Fackler, Lucas Bergman, Jacob Lee, and Shawn Pearce