[PATCH 0/5] odb: make packfile generation pluggable
Patrick Steinhardt <[email protected]>
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
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.
The series is built on top of 2c78326f81 (The 11th batch, 2026-08-05).
Thanks!
Patrick
---
Patrick Steinhardt (5):
odb: introduce interface to generate packfiles
upload-pack: generate packfiles via the object database
send-pack: generate packfiles via the object database
builtin/bundle: refactor option handling for progress meter
bundle: generate packfiles via the object database
builtin/bundle.c | 31 ++++------
bundle.c | 68 +++++++++++-----------
bundle.h | 3 +-
odb.c | 21 +++++++
odb.h | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++
odb/source-files.c | 144 +++++++++++++++++++++++++++++++++++++++++++++++
odb/source.h | 33 +++++++++++
send-pack.c | 101 +++++++++++----------------------
t/t5516-fetch-push.sh | 12 ++--
upload-pack.c | 125 +++++++++++++++--------------------------
10 files changed, 482 insertions(+), 208 deletions(-)
---
base-commit: 2c78326f810173a4f3aefd8021f1e07575412481
change-id: 20260807-b4-pks-odb-generate-pack-f30fbcdef3fc