GitTogether 2011

Thursday, December 8, 2011 | 3:00 PM

Labels: ,

It has become an autumn tradition to host GitTogether, two days of unconference where Git developers, enthusiasts, and users gather at Google’s headquarters in Mountain View, California to share ideas on future directions of Git and to discuss the tools that support the larger ecosystem. This year was no exception. More than 55 people showed up for GitTogether 2011, and one thing that is notable is that at many of the attendees’ $DAY_JOB, the combination of Git on the desktop with Gerrit Code Review on the server side has become the standard set-up to run development work.


Photo by Brandon Casey

Google’s Dave Borowitz gave a talk about the recent addition of Git support to Google Code Project Hosting. Google also recently moved the Git server that hosts the Android open source community from kernel.org to an in-house Git server, which was the topic of Shawn Pearce’s talk. Junio C Hamano briefly described additional workflow elements being designed to help the kernel developers ensure the authenticity of the patch-flow after the recent break-in incident at kernel.org.

Since last year’s GitTogether, submodule support has been heavily enhanced. Jens Lehmann and Heiko Voigt, two Git developers who have been primarily working on the submodule support, gave an overview of where we are and what the future entails. The general direction is to make it easier to run various operations from the top-level superproject and have it go into submodules recursively when the project and the user choose to. There has been interest in using the native submodule support to update the implementation of “repo” wrapper used in Android and other projects. It seems that we are getting closer.

Support for large blobs that would not fit in the memory has been always lacking in Git. There recently has been a lot of work in the native support (e.g. storing them straight to the object store without having to read and hold the whole thing in core, checking out from the object store to the working tree without having to hold the whole thing in core, etc.). There are a few third-party tools and approaches with their own pros-and-cons, but it was generally agreed that adding a split-object encoding like Avery Pennarun’s “bup” tools uses would be the right way to help support object transfer between repositories to advance the native support of large objects in Git further.

The animated diff in Roberto Tyley’s Agit (git running on Android) demo was cool and received warm applause.

In addition to the technical discussions, we had a chance to get to know each other socially, enjoying lunches in the conference room (unlike the previous years, the group has grown too large to visit Google cafes without disturbing other Googlers) and dinners at some local restaurants. True to the tradition, there was a “patch of questionable value” to add different hash algorithm to Git in case SHA-1 hash collisions are found.

By Junio C Hamano, Open Source Programs

7 comments:

Leif said...

I'm curious to hear more about improvements to submodules.

I'd really love the ability for a submodule to follow the remote HEAD of a branch rather than be restricted to a specific sha1. It's not for everyone but there's a time and place for it.

Brandon said...

Jens and Heiko talked about this. IIRC they referred to this type of submodule as "floating" and it was something they were thinking about, not something they had already implemented. You should contact them on the git mailing list for more information and status.

Jason Riedy said...

Any mention of git-annex for large blobs? I find it useful.

Peter Jönsson said...

Yep, there was a presentation about git-annex from the author(?).

spartan, the said...

Git is most powerful VCS today with must-die user interface. Sorry if this touches your feelings about git.
Neither big-blog-support nor SHA2000 will help.

smurfix said...

Which UI do you have problems with?
There are at least four to choose from.

milton said...

Anybody can say what happened to latest (2011) Git Survey after all that problems of kernel.org being hacked?

I've spent some time filling it and I'm still curious about the results.