packfile: add repository argument to cache_or_unpack_entry

Add a repository argument to allow the callers of cache_or_unpack_entry
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: Jonathan Nieder <jrnieder@gmail.com>
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:05 -07:00 коммит произвёл Junio C Hamano
Родитель 57a6a500be
Коммит 589de91185
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -1272,7 +1272,8 @@ static void detach_delta_base_cache_entry(struct delta_base_cache_entry *ent)
free(ent); free(ent);
} }
static void *cache_or_unpack_entry(struct packed_git *p, off_t base_offset, #define cache_or_unpack_entry(r, p, bo, bs, t) cache_or_unpack_entry_##r(p, bo, bs, t)
static void *cache_or_unpack_entry_the_repository(struct packed_git *p, off_t base_offset,
unsigned long *base_size, enum object_type *type) unsigned long *base_size, enum object_type *type)
{ {
struct delta_base_cache_entry *ent; struct delta_base_cache_entry *ent;
@ -1346,7 +1347,7 @@ int packed_object_info_the_repository(struct packed_git *p, off_t obj_offset,
* a "real" type later if the caller is interested. * a "real" type later if the caller is interested.
*/ */
if (oi->contentp) { if (oi->contentp) {
*oi->contentp = cache_or_unpack_entry(p, obj_offset, oi->sizep, *oi->contentp = cache_or_unpack_entry(the_repository, p, obj_offset, oi->sizep,
&type); &type);
if (!*oi->contentp) if (!*oi->contentp)
type = OBJ_BAD; type = OBJ_BAD;