Live data from Hacker News

Introducing Git protocol version 2

opensource.googleblog.com

51–60 of 167 posts

Re: Introducing Git protocol version 2

#52
post #48

Earlier quoted context omitted.

Because it's up to the client to request HTTP 2 if they support it. https://http2.github.io/http2-spec/#discover-http

But why is this not supported by TLS? Is it set up in such a way that it could never be amended to have a fallback?

Oh that's a good question in context of middleboxes. I don't know of any that force HTTP/1.1, but they might actually!

Re: Introducing Git protocol version 2

#55

The current (and pretty much only, ever, despite Linus having been the creator) maintainer of git is a google employee [1], in case anyone else was wondering. [1] https://en.m.wikipedia.org/wiki/Junio_Hamano

Alright, I was wondering why this was published on the Google Opensource website. I had no idea. Yet, the Git project itself has not been published under their umbrella. https://opensource.google.com/projects/list/featured

One of the places it's hosted at is https://kernel.googlesource.com/pub/scm/git/git

See the list of URLs at https://public-inbox.org/git/xmqqindt6g1r.fsf@gitster.mtv.co...

Re: Introducing Git protocol version 2

#56
post #9
post #7

Git didn't have a proper version number or extensibility field in its protocol? That's quite a bit of hubris.

Or, more likely, an oversight.

Hmm, I haven't designed very many data formats or wire protocols, and I won't claim I got it right any of those times, but I included some kind of extension possibility every time.

Re: Introducing Git protocol version 2

#57
The specification of the v2 protocol is here: https://github.com/git/git/blob/master/Documentation/technic...

One of the more exciting things is that it can now be extended to arbitrary new over-the-wire commands. So e.g. "git grep" could be made to execute over the network if that's more efficient in some cases.

This will also allow for making things that now use side-transports part of the protocol itself if it made sense. E.g. the custom commands LFS and git-annex implement, and even more advanced things like shipping things like the new commit graph already generated from the server to the client.

Re: Introducing Git protocol version 2

#58
post #11
post #8

Earlier quoted context omitted.

IIRC, they were in a serious time crunch when they drafted/made git. I can't remember the whole story...

I thought Linus Torvalds was almost wholly responsible for the initial development of git? Even so, everything, especially software, is easier in hindsight....

Sorry, I was using the 'singular' they.

Re: Introducing Git protocol version 2

#59

Earlier quoted context omitted.

It's an universal truth: if you want to keep something from jamming up, you need to exercise it. It's true for the human body, for machine parts and for protocol features.

HTTP was at 1.1 for a very long time but it appears the upgrade to version 2 is going fine. What is the difference here? The protocol version exchange mechanism?

The HTTP 1.1 to 2 upgrade is only going fine due to massive work (mostly by Google) over a period of years. HTTP/2 was also able to benefit from a lot of pain that SPDY and WebSockets went through earlier. Protocol ossification is still a hard problem.

Re: Introducing Git protocol version 2

#60
Is there a git protocol variant that allows the client to avoid downloading objects that it already has stored locally in another repository or cache?

For example: I have the Linux kernel already cloned in some directory. I clone a second repo which has the Linux kernel as a submodule. Can I clone the second repo straightforwardly without having to download Linux a second time? (Well yes, but only by manual intervention before doing the git submodule update - it'd be nice if objects could be shared in a cache across also repos somehow).

Post reply on HN