From: Tom Hughes Date: Sat, 25 May 2024 10:29:13 GMT Subject: Re: [PATCH] promisor-remote: add promisor.quiet configuration option 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: > 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/