git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git Smart HTTP with HTTP/2.0

From
Shawn Pearce <spearce@spearce.org>
Date
Jul 11, 2015, 23:10 UTC
Message-ID
<CAJo=hJuM70o8+U3Wt3rRzyrB1O=Q+wz3bGZVFa07zRQ0Ughk9g@mail.gmail.com>
In-Reply-To
<20150711182657.GA8589@LK-Perkele-VII>

On Sat, Jul 11, 2015 at 11:26 AM, Ilari Liusvaara <ilari.liusvaara@elisanet.fi> wrote:

Show 15 quoted lines
> On Sat, Jul 11, 2015 at 10:23:09AM -0700, Shawn Pearce wrote:
>>
>> > Websockets over HTTP/2 (a.k.a. "websockets2") has not been defined yet.
>> > With Websockets(1), it would probably already be possible to tunnel the
>> > native git smart transport protocol over it. Probably not worth it.
>>
>> Another option is to tunnel using gRPC (grpc.io). libcurl probably
>> can't do this. And linking grpc.io library into git-core is crazy. So
>> its probably a non-starter. But food for thought.
>
> Wouldn't it link into git-remote-http (and on the server side, one
> could use pipes to talk to git)?
>
> But supporting websockets in git-remote-http could get annoying,
> especially for wss:// (https://). Dunno how bad gRPC would be.

We wrote it as git-remote-$THING, invoked with $THING:// URLs. And git-remote-$THING just implements the "connect" helper protocol. Its much simpiler than git-remote-http.

Maybe its done that way in git-core as http2:// aka git-remote-http2.

Or the git-remote-http helper connects to the remote system and tries to guess if it supports Git on HTTP/2 before responding to the capabilities request from transport code. If yes, it replies with connect, if no, it does the current fetch and push protocol.

Previous: Ilari Liusvaara
Message 5 of 5 in “Git Smart HTTP with HTTP/2.0”
  1. ForceCharlieJul 11, 2015
  2. Ilari LiusvaaraJul 11, 2015
  3. Shawn PearceJul 11, 2015
  4. Ilari LiusvaaraJul 11, 2015
  5. Shawn PearceJul 11, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.