Subject: Re: [PATCH 00/17] odb: make object database sources pluggable

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 23 Feb 2026 17:21:46 +0100

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