packfile: pass down repository to has_object[_kept]_pack
The functions `has_object[_kept]_pack` currently rely on the global variable `the_repository`. To eliminate global variable usage in `packfile.c`, we should progressively shift the dependency on the_repository to higher layers. Let's remove its usage from these functions and any related ones. Signed-off-by: Karthik Nayak <karthik.188@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
873b00597b
commit
cc656f4eb2
@ -67,7 +67,7 @@ static int count_loose(const struct object_id *oid, const char *path,
|
||||
else {
|
||||
loose_size += on_disk_bytes(st);
|
||||
loose++;
|
||||
if (verbose && has_object_pack(oid))
|
||||
if (verbose && has_object_pack(the_repository, oid))
|
||||
packed_loose++;
|
||||
}
|
||||
return 0;
|
||||
|
@ -272,7 +272,7 @@ static void check_reachable_object(struct object *obj)
|
||||
if (!(obj->flags & HAS_OBJ)) {
|
||||
if (is_promisor_object(&obj->oid))
|
||||
return;
|
||||
if (has_object_pack(&obj->oid))
|
||||
if (has_object_pack(the_repository, &obj->oid))
|
||||
return; /* it is in pack - forget about it */
|
||||
printf_ln(_("missing %s %s"),
|
||||
printable_type(&obj->oid, obj->type),
|
||||
|
@ -1529,7 +1529,7 @@ static int want_found_object(const struct object_id *oid, int exclude,
|
||||
return 0;
|
||||
if (ignore_packed_keep_in_core && p->pack_keep_in_core)
|
||||
return 0;
|
||||
if (has_object_kept_pack(oid, flags))
|
||||
if (has_object_kept_pack(p->repo, oid, flags))
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -3627,7 +3627,7 @@ static void show_cruft_commit(struct commit *commit, void *data)
|
||||
|
||||
static int cruft_include_check_obj(struct object *obj, void *data UNUSED)
|
||||
{
|
||||
return !has_object_kept_pack(&obj->oid, IN_CORE_KEEP_PACKS);
|
||||
return !has_object_kept_pack(to_pack.repo, &obj->oid, IN_CORE_KEEP_PACKS);
|
||||
}
|
||||
|
||||
static int cruft_include_check(struct commit *commit, void *data)
|
||||
|
Reference in New Issue
Block a user