sha1_file: add repository argument to sha1_loose_object_info

Add a repository argument to allow the sha1_loose_object_info caller
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>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-03-23 18:21:15 +01:00 committed by Junio C Hamano
parent e35454fa62
commit e977fc7469

View file

@ -1152,9 +1152,10 @@ int parse_sha1_header(const char *hdr, unsigned long *sizep)
return parse_sha1_header_extended(hdr, &oi, 0);
}
static int sha1_loose_object_info(const unsigned char *sha1,
struct object_info *oi,
int flags)
#define sha1_loose_object_info(r, s, o, f) sha1_loose_object_info_##r(s, o, f)
static int sha1_loose_object_info_the_repository(const unsigned char *sha1,
struct object_info *oi,
int flags)
{
int status = 0;
unsigned long mapsize;
@ -1273,7 +1274,7 @@ int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi,
break;
/* Most likely it's a loose object. */
if (!sha1_loose_object_info(real, oi, flags))
if (!sha1_loose_object_info(the_repository, real, oi, flags))
return 0;
/* Not a loose object; someone else may have just packed it. */