On its Open Source Blog, Google announced the first major revision of the open source Git protocol.
Created in 2005, Git is a version control system used by developers everywhere (including Google) to manage their software source code.
The biggest new feature is allowing the client to request particular ‘references’, like specifically tagged commits or certain code branches, without the server sending every reference. In the first version of the Git protocol this was not possible, and thus used unnecessary bandwidth and slowed down requests on larger servers.
For repositories that contain 100s of thousands of references (the Chromium repository has over 500k branches and tags) the server could end up sending 10s of megabytes of data that get ignored.
The most important factor in play with the new protocol is that it’s backwards compatible, meaning if you send a v2 request to a v1 server you will get a v1 response. You can read more on the technical details of this in their announcement post.
Some developers were surprised by Google being the source of the announcement, with many remembering that Linus Torvalds, creator of Linux, also created Git. In fact, the role of maintainer for Git was given to Googler Junio Hamano in 2005, and thus, technically, is a Google project.
Client-side support of the new protocol is expected to be seen in the next version, Git 2.18.