Re: [PATCH v3 0/6] odb: make packfile generation pluggable

Elijah Newren <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <CABPp-BHAeb5Q6kWw8e0fz9+avKyJL0_k7cUzRhesHScJjB3Xfw@mail.gmail.com>
On Thu, Aug 20, 2026 at 12:55 AM Patrick Steinhardt <[email protected]> wrote:
>
> Hi,
>
> this patch series makes packfile generation pluggable.
>
> Note that this series only makes those parts pluggable that are required
> for the transport layer. The other parts that relate to packfile
> generation as required by our repository maintenance is kept as-is, as
> there is a bunch of options there that are way too specific to the
> "files" backend to be portable. This should ultimately not be much of a
> problem though, as maintenance itself is already pluggable in the first
> place.
>
> It's a bit of a shame though for git-pack-objects(1), which still isn't
> usable with alternate backends. I tried several times to find good
> solutions for making it fully pluggable, but due to the backend-specific
> options it's an utter mess. I want to eventually address this though:
> same as with git-refs(1), I want to introduce git-objects(1) to care
> about all things ODB. And as part of that command we can also introduce
> a command that generates packfiles in a generic fashion, without all the
> cruft that git-pack-objects(1) has. This is part of a future patch
> series though.

So, big picture, today there are three callers that spawn "git
pack-objects --revs --stdout ..." by hand to produce a pack for
transfer: upload-pack, send-pack, and bundle.  Each hand-rolls a
child_process, feeds a rev list on stdin, and drains the pack from the
child's stdout.  This series hoists that shared machinery into a new
object-database interface, decoupling the transport use of packs from
the storage use.  I like it.

> Changes in v3:
>   - Fix a use-after-scope bug on abnormal exit when child processes are
>     cleaned up via `mark_child_for_cleanup()`, as noticed by Elijah.
>   - Link to v2: https://patch.msgid.link/[email protected]

Thanks, the fix in 1/6 addresses what I raised on v2.

I read through the series -- I did have an alternative suggestion for
5/6 (which I posted on v2 5/6 since there was already a thread there),
but otherwise I didn't spot anything beyond what other reviewers
already raised.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.