]> git.ipfire.org Git - thirdparty/git.git/commit
object-file: move loose object cache into loose source
authorPatrick Steinhardt <ps@pks.im>
Mon, 3 Nov 2025 07:42:01 +0000 (08:42 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Nov 2025 20:18:46 +0000 (12:18 -0800)
commit90a93f9dea88532623ef7422dbc21d8dc70a58dd
tree5874725a677983485dfc406ab5dbfd0282e08bbb
parentece43d9dc70b1717484ee78b66aef4f9390c2b2b
object-file: move loose object cache into loose source

Our loose objects use a cache that (optionally) stores all objects for
each of the opened sharding directories. This cache is located in the
`struct odb_source`, but now that we have `struct odb_source_loose` it
makes sense to move it into the latter structure so that all state that
relates to loose objects is entirely self-contained.

Do so. While at it, rename corresponding functions to have a prefix that
relates to `struct odb_source_loose`.

Note that despite this prefix, the functions still accept a `struct
odb_source` as input. This is done intentionally: once we introduce
pluggable object databases, we will continue to accept this struct but
then do a cast inside these functions to `struct odb_source_loose`. This
design is similar to how we do it for our ref backends.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
loose.c
object-file.c
object-file.h
object-name.c
odb.c
odb.h