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/