[PATCH v3 08/17] packfile: use higher-level interface to implement `has_object_pack()`
From: Patrick Steinhardt <hidden>
Date: 2026-06-17 06:40:17
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Patrick Steinhardt <hidden>
Date: 2026-06-17 06:40:17
Subsystem:
the rest · Maintainer:
Linus Torvalds
In `has_object_pack()` we're checking whether a specific object exists as part of a packfile. This is done by calling the low-level function `find_pack_entry()`, but this function will eventually be moved into "odb/source-packed.c" and made file-local. Refactor the code to use `packfile_store_read_object_info()` instead. This refactoring is functionally equivalent as that function will call `find_pack_entry()` itself and then return immediately when it ain't got no object info pointer as parameter. Signed-off-by: Patrick Steinhardt <redacted> --- packfile.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/packfile.c b/packfile.c
index 65631f674f..b35afd7797 100644
--- a/packfile.c
+++ b/packfile.c@@ -2049,14 +2049,12 @@ struct packed_git **packfile_store_get_kept_pack_cache(struct odb_source_packed int has_object_pack(struct repository *r, const struct object_id *oid) { struct odb_source *source; - struct pack_entry e; odb_prepare_alternates(r->objects); for (source = r->objects->sources; source; source = source->next) { struct odb_source_files *files = odb_source_files_downcast(source); - int ret = find_pack_entry(files->packed, oid, &e); - if (ret) - return ret; + if (!packfile_store_read_object_info(files->packed, oid, NULL, 0)) + return 1; } return 0;
--
2.55.0.rc0.786.g65d90a0328.dirty