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

Re: [PATCH] promisor-remote: add promisor.quiet configuration option

From
Tom Hughes <tom@compton.nu>
Date
May 25, 2024, 10:29 UTC
Message-ID
<1b10454e-c5ad-4ce3-a724-27306ee8824c@compton.nu>
In-Reply-To
<20240525052946.GD1895047@coredump.intra.peff.net>
On 25/05/2024 06:29, Jeff King wrote:
Show 13 quoted lines
> On Thu, May 23, 2024 at 02:19:26PM +0100, Tom Hughes wrote:
> 
>> Add a configuration optione to allow output from the promisor
>> fetching objects to be suppressed/
>>
>> This allows us to stop commands like git blame being swamped
>> with progress messages and gc notifications from the promisor
>> when used in a partial clone.
> 
> I'm not at all opposed to providing a way to suppress this, but I feel
> like in the long run, the more fundamental issue is that git-blame kicks
> off a zillion fetches as it traverses. That's not only ugly but it's
> also horribly inefficient.

This is true. One thing I found that makes things a lot more efficient if you're using ssh as the transport is to enable persistent multiplexing in .ssh/config with something like:

Host git.example.com
   ControlMaster auto
   ControlPath /run/user/%i/ssh/control.%C
   ControlPersist 1m
   SendEnv GIT_PROTOCOL

which avoids each fetch having to setup and authenticate a new ssh session.

> In an ideal world we'd queue all of the blobs we need, do a single
> fetch, and then compute the blame on the result. That's probably easier
> said than done, though we have done it in other spots (e.g., for
> checkout).
That would certainly be an excellent improvement, yes.
Tom
-- 
Tom Hughes (tom@compton.nu)
http://compton.nu/
Previous: Jeff KingNext: Jeff King
Message 9 of 10 in “promisor-remote: add promisor.quiet configuration option”
  1. promisor-remote: add promisor.quiet configuration optionTom Hughes, May 23, 2024
  2. Junio C HamanoMay 23, 2024
  3. Tom HughesMay 24, 2024
  4. promisor-remote: add promisor.quiet configuration optionTom Hughes, May 24, 2024
  5. Junio C HamanoMay 24, 2024
  6. Tom HughesMay 25, 2024
  7. promisor-remote: add promisor.quiet configuration optionTom Hughes, May 25, 2024
  8. Jeff KingMay 25, 2024
  9. Tom HughesMay 25, 2024
  10. Jeff KingMay 29, 2024

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.