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