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

Re: Sending informational messages from upload-pack

From
Lukas Fleischer <lfleischer@lfos.de>
Date
Feb 21, 2017, 05:59 UTC
Message-ID
<148765676392.7729.13179395516270132623@typhoon>
In-Reply-To
<20170220192103.6v66lpghgir3erhn@sigill.intra.peff.net>
On Mon, 20 Feb 2017 at 20:21:03, Jeff King wrote:
Show 15 quoted lines
> On Mon, Feb 20, 2017 at 07:38:02PM +0100, Lukas Fleischer wrote:
> 
> > It would be handy to be able to show a message to the user when
> > cloning/fetching from a repository (e.g. to show a warning if a
> > repository is deprecated). This should technically already be possible
> > using the current pack protocol and sidebands. However, to my knowledge,
> > there is no easy way to configure this on the server side; writing a
> > wrapper around git-upload-pack(1) or replacing git-upload-pack(1) seem
> > to be the only options.
> 
> I wouldn't recommend wrapping upload-pack. You don't know you have a
> sideband until partway through the upload-pack conversation. And clients
> do not expect sideband at all until we get to the pack-sending part of
> the protocol (I think; I just quickly verified the location of the
> demuxer async code in fetch-pack.c, but I didn't dig into it in depth).

By wrapper I meant something that understands the pack protocol itself, intercepts the traffic, forwards most of it to git-upload-pack(1) and injects the message at the right time. I agree that it is a fairly ugly workaround, though.

Show 11 quoted lines
> [...]
> If my fetch-pack assertion above is right, technically the hook added by
> 20b20a22f is sufficient for your purposes, if your hook looks like:
> 
>   echo >&2 "pre-pack message"
>   git pack-objects "$@"
>   echo >72 "post-pack message"
> 
> but I would not be opposed to having pre-/post- hooks that run
> separately, if only for the convenience of the admin.
> [...]

I will give it a try. And I agree that it would still be convenient to have pre-upload-pack and post-upload-pack hooks.

Regards, Lukas

Previous: Jeff King
Message 3 of 3 in “Sending informational messages from upload-pack”
  1. Lukas FleischerFeb 20, 2017
  2. Jeff KingFeb 20, 2017
  3. Lukas FleischerFeb 21, 2017

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.