Thread (11 messages) 11 messages, 5 authors, 1d ago

Re: Performance regression in connectivity check during receive-pack (git 2.54)

From: Jeff King <hidden>
Date: 2026-07-26 08:51:18

On Fri, Jul 24, 2026 at 05:46:58AM +0200, Patrick Steinhardt wrote:
One other angle that Justin and I have been discussing (we were at an
offsite together over the last couple days) was that we can do a small
course correction: instead of handling alternates on the ODB level, we
may be able to start treating alternates as an implementation detail of
it. So both the handling of alternates, but also the handling of the
GIT_OBJECT_DIRECTORY and GIT_ALTERNATE_OBJECT_DIRECTORIES environment
variables would be moved into the "files" backend itself.
That seems reasonable to me. In theory it could lose some flexibility if
some code really wanted to represent alternates as abstract sources, but
I can't think of why you'd want to do so. Traditionally we did not even
really have separate sources at all, and the point of adding them was
not so much to have arbitrary combinations of sources as to abstract the
details.

I guess somebody could want to use a local alternates object-dir along
with their sql database of objects or whatever. But even then, it seems
like the alternate could be added as its own files-backend odb source.
This would solve a bunch of smaller issues that we're currently
grappling with where some of the concepts in Git really want to operate
across all of the alternates:
[...]
Yeah, that all sounds like a positive direction. Thanks!

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help