Show 45 quoted lines
> On Mon, Feb 23, 2026 at 05:17:51PM +0100, Patrick Steinhardt wrote:
>> Hi,
>>
>> this patch series finally makes the object database source pluggable.
>> This is done by moving backend-specific logics into callback functions
>> that are part of `struct odb_source` and providing thin wrappers that
>> call those functions.
>>
>> To set expectations: this is only a start, there is still functionality
>> missing that needs to be made pluggable. Most importantly:
>>
>> - Counting of objects.
>>
>> - Abbreviating object IDs and finding ambiguous objects.
>>
>> - Consistency checks.
>>
>> - Optimizing the object database.
>>
>> - Generating packfiles.
>>
>> These will all happen in later patch series. That being said, with this
>> patch series one already gets a lot of the basic functionality, and it's
>> almost possible to do local workflows. Only "almost" though because we
>> rely on abbreviating object IDs in a lot of places, but once that part
>> is implemented in a subsequent patch series you can indeed work locally
>> with an alternate backend.
>>
>> Furthermore, what I didn't include as part of this patch series just yet
>> is the introduction of the "objectStorage" extension. I mostly wanted to
>> focus on the mostly-trivial parts without introducing any change in
>> behaviour.
>
> I forgot to note that this series is based on top of 7c02d39fc2 (The 6th
> batch, 2026-02-20) with the following two series merged into it:
>
> - ps/odb-for-each-object at 3565faf28c (odb: drop unused
> `for_each_{loose,packed}_object()` functions, 2026-01-26)
>
> - ps/object-info-bits-cleanup at 732ec9b17b (odb: convert
> `odb_has_object()` flags into an enum, 2026-02-12)
>
> Thanks!
>
> Patrick