Subject: Re: [PATCH 0/6] odb: track commit graphs via object source

From: Junio C Hamano <[email-masked]>
Date: Thu, 02 Oct 2025 09:49:43 -0700

Patrick Steinhardt <[email-masked]> writes:

> My intent here is mostly to allow us to swap out how exactly the data is
> being cached. During the Git Merge I heard from some JJ developer (I
> think) that they also have a pluggable cache, but they approach the
> issue differently: instead of making the cache a property of the object
> backend, they instead make the cache itself pluggable.
>
> I think that's a worthwhile angle to explore. The cache would still sit
> on the repository level, and it wouldn't have to care at all whether we
> use loose objects/packfiles or any other backend. But in theory, we can
> still swap it out for a different representation as desired.

The idea to allow these "caches" being pluggable to the system
independently from object store or reference store backends does
make quite a lot of sense.  If there is only one that is plugged,
that degenerates into the "side data like commit-graph and
reachability bitmaps do not belong to a specific object store
backend, but are defined over the objects known to the repository" I
was talking about in the message you are replying to, I think.

> Which overall means that we can defer this to a later point in time, as
> we can make it pluggable independent from making the object database
> itself pluggable.
>
> So I'd propose to merge the first six patches, as everyone seemed to
> agree that they improve the status quo, but drop the last patch that
> moves the commit-graph into the ODB sources.
>
> Does that seem reasonable to everyone? If so, I don't really see a
> reason to reroll at this point. But please let me know in case I miss
> anything that needs addressing.

I am fine with that, but let's hear from everyone ;-).

Thanks.