[PATCH 0/5] odb: make creation of object database pluggable
From: Patrick Steinhardt <hidden>
Date: 2026-07-24 03:48:57
Hi,
when creating a new repository we create a couple of on-disk data
structures for the object database. This includes the "objects/"
directory hierarchy with "objects/info" and "objects/pack", which are
specific to the backend.
This patch series makes the creation of the on-disk data structures
pluggable. While we continue to always create "objects/" regardless of
the backend (it's required for a repository to be recognized as such),
the other subdirectories are now created by the backend. This will allow
other backends to plug in their own logic.
The series starts with a small detour into the loose-object map. This
detour is required so that we can defer initialization of the object
database itself to a later point in time.
The series is based on 9a0c4701dc (The 7th batch, 2026-07-22).
Thanks!
Patrick
---
Patrick Steinhardt (5):
loose: load loose object map for the correct source
setup: detangle loading of loose object maps
setup: defer object database creation
odb/source: introduce function to map source type to name
odb: make creation of on-disk structures pluggable
loose.c | 25 ++++++++++----------
loose.h | 1 +
odb/source-files.c | 19 +++++++++++++++
odb/source-files.h | 4 +++-
odb/source-inmemory.h | 4 +++-
odb/source-loose.c | 2 ++
odb/source-loose.h | 4 +++-
odb/source-packed.h | 4 +++-
odb/source.c | 19 +++++++++++++++
odb/source.h | 29 +++++++++++++++++++++++
repository.c | 2 --
setup.c | 65 +++++++++++++++++++++++++++++++++++----------------
setup.h | 9 +++++++
13 files changed, 149 insertions(+), 38 deletions(-)
---
base-commit: 9a0c4701dcd5725c4184599322b52933ff5005ca
change-id: 20260710-pks-odb-create-on-disk-ae8757861c69