1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-09 09:06:57 +02:00

packfile: add repository argument to read_object

Add a repository argument to allow the callers of read_object
to be more specific about which repository to act on. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repository other than the_repository at compile time.

Signed-off-by: Stefan Beller <sbeller@google.com>
Reviewed-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-04-25 11:21:03 -07:00 committed by Junio C Hamano
parent 720aaa1a74
commit 5da6534dd6

View File

@ -1469,8 +1469,10 @@ struct unpack_entry_stack_ent {
unsigned long size;
};
static void *read_object(const struct object_id *oid, enum object_type *type,
unsigned long *size)
#define read_object(r, o, t, s) read_object_##r(o, t, s)
static void *read_object_the_repository(const struct object_id *oid,
enum object_type *type,
unsigned long *size)
{
struct object_info oi = OBJECT_INFO_INIT;
void *content;
@ -1614,7 +1616,7 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
oid_to_hex(&base_oid), (uintmax_t)obj_offset,
p->pack_name);
mark_bad_packed_object(p, base_oid.hash);
base = read_object(&base_oid, &type, &base_size);
base = read_object(the_repository, &base_oid, &type, &base_size);
external_base = base;
}
}