From: Patrick Steinhardt Date: Wed, 17 Jun 2026 06:39:51 +0000 (+0200) Subject: packfile: use higher-level interface to implement `has_object_pack()` X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=77e175c6d03a26e97deb2a7bc707894eb45ced26;p=thirdparty%2Fgit.git packfile: use higher-level interface to implement `has_object_pack()` 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 Signed-off-by: Junio C Hamano --- 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;