[PATCH 00/13] object-store: a handful of cleanups
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Apr 23, 2025, 07:48 UTC
- Message-ID
- <20250423-pks-object-store-cleanups-v1-0-81f8411a5d08@pks.im>
Hi,
this patch series contains a handful of cleanups to the object store subsystem:
- A couple of definitions are moved out of "object-store.h" as they
belong to other subsystems.- Some functions are dropped and/or renamed.
- The biggest part is the removal of `repo_has_object_file()`. This
function and its `_with_flags()` variant are marked as deprecated,
with the replacement being `has_object()`. The benefit of that
function is that it doesn't reload packfiles and doesn't fetch
promisor objects by default so that it becomes more explicit when
one really wants to do so.These cleanups are in preparation for getting rid of `the_repository` in "object-store.c".
The patch series is built on top of 4bbb303af69 (The seventh batch, 2025-04-17) with ps/object-file-cleanup at 68cd492a3e6 (object-store: merge "object-store-ll.h" and "object-store.h", 2025-04-15) merged into it.
Thanks!
Patrick
---
Patrick Steinhardt (13):
object-store: move `struct packed_git` into "packfile.h"
object-store: drop `loose_object_path()`
object-store: move and rename `odb_pack_keep()`
object-store: move function declarations to their respective subsystems
object-store: allow fetching objects via `has_object()`
treewide: trivial conversions of `repo_has_object_file()`
builtin/index-pack: don't fetch promised objects for collision check
builtin/show-ref: don't fetch objects when printing refs
refs: don't fetch promisor objects in `ref_resolves_to_object()`
http-walker: don't fetch objects via promisor remotes
list-objects: clarify how promised blobs are excluded
bulk-checkin: don't fetch promised objects on write
object-store: drop `repo_has_object_file()`builtin/cat-file.c | 3 +- builtin/clone.c | 4 +- builtin/count-objects.c | 2 +- builtin/fast-import.c | 3 +- builtin/fetch.c | 15 ++-- builtin/gc.c | 2 +- builtin/index-pack.c | 6 +- builtin/receive-pack.c | 4 +- builtin/remote.c | 3 +- builtin/show-ref.c | 2 +- builtin/unpack-objects.c | 3 +- bulk-checkin.c | 2 +- cache-tree.c | 13 +++- fetch-pack.c | 7 +- http-push.c | 11 ++- http-walker.c | 7 +- http.c | 4 +- list-objects.c | 3 +- notes.c | 3 +- object-file.c | 4 +- object-file.h | 77 +++++++++++++++++++ object-name.c | 2 +- object-store.c | 44 ++--------- object-store.h | 191 +++-------------------------------------------- pack-objects.h | 1 + packfile.h | 78 ++++++++++++++++++- path.c | 14 ++++ path.h | 7 ++ prune-packed.c | 2 +- reachable.c | 2 +- reflog.c | 3 +- refs.c | 2 +- remote.c | 2 +- send-pack.c | 5 +- shallow.c | 9 ++- upload-pack.c | 3 +- walker.c | 3 +- 37 files changed, 265 insertions(+), 281 deletions(-)
--- base-commit: ca819c0751cedd1713334882e4c83687f8478a54 change-id: 20250422-pks-object-store-cleanups-5a6077014155