@leroysheep / LeeRoySheep / commits / 2242f7ee36

treewide: convert users of `whence` to the new source field

The `whence` field has become redundant now that callers can learn about the exact source an object has been looked up from via the `struct object_info_source::source` field. Adapt callers to use the new field. Note that all callsites already set up the `info.sourcep` request pointer, so the conversion is rather straight-forward. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Jul 2, 2026 at 14:02 UTC 2242f7ee36e9ec1a70314b685b1680e641e56f88
4 files changed +5 -4
builtin/cat-file.c
+1 -1
index 0aca6acb75..758f8fc736 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -834,7 +834,7 @@ static int batch_one_object_oi(const struct object_id *oid, void *_payload) { struct for_each_object_payload *payload = _payload; - if (oi && oi->whence == OI_PACKED) + if (oi && oi->source_infop->source->type == ODB_SOURCE_PACKED) return payload->callback(oid, oi->source_infop->u.packed.pack, oi->source_infop->u.packed.offset, payload->payload);
builtin/index-pack.c
+2 -1
index fe6e70522d..7af1aea6f9 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1833,7 +1833,8 @@ static void repack_local_links(void) if (odb_read_object_info_extended(the_repository->objects, oid, &info, 0)) /* Missing; assume it is a promisor object */ continue; - if (info.whence == OI_PACKED && source_info.u.packed.pack->pack_promisor) + if (source_info.source->type == ODB_SOURCE_PACKED && + source_info.u.packed.pack->pack_promisor) continue; if (!cmd.args.nr) {
builtin/pack-objects.c
+1 -1
index b7ef90f67c..4fdb6dbf6f 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -5010,7 +5010,7 @@ static int is_not_in_promisor_pack_obj(struct object *obj, void *data UNUSED) if (odb_read_object_info_extended(the_repository->objects, &obj->oid, &info, 0)) BUG("should_include_obj should only be called on existing objects"); - return info.whence != OI_PACKED || !source_info.u.packed.pack->pack_promisor; + return source_info.source->type != ODB_SOURCE_PACKED || !source_info.u.packed.pack->pack_promisor; } static int is_not_in_promisor_pack(struct commit *commit, void *data) {
reachable.c
+1 -1
index bf76b48fc5..caadacc02a 100644 --- a/reachable.c +++ b/reachable.c @@ -234,7 +234,7 @@ static int add_recent_object(const struct object_id *oid, add_pending_object(data->revs, obj, ""); if (data->cb) { - if (oi->whence == OI_PACKED) + if (oi->source_infop->source->type == ODB_SOURCE_PACKED) data->cb(obj, oi->source_infop->u.packed.pack, oi->source_infop->u.packed.offset, *oi->mtimep); else