Browse Source

packfile: convert has_packed_and_bad() to object_id

The single caller has a full object ID, so pass it on instead of just
its hash member.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
René Scharfe 3 years ago committed by Junio C Hamano
parent
commit
7407d733a4
  1. 2
      object-file.c
  2. 4
      packfile.c
  3. 2
      packfile.h

2
object-file.c

@ -1725,7 +1725,7 @@ void *read_object_file_extended(struct repository *r,
die(_("loose object %s (stored in %s) is corrupt"), die(_("loose object %s (stored in %s) is corrupt"),
oid_to_hex(repl), path); oid_to_hex(repl), path);


if ((p = has_packed_and_bad(r, repl->hash)) != NULL) if ((p = has_packed_and_bad(r, repl)) != NULL)
die(_("packed object %s (stored in %s) is corrupt"), die(_("packed object %s (stored in %s) is corrupt"),
oid_to_hex(repl), p->pack_name); oid_to_hex(repl), p->pack_name);
obj_read_unlock(); obj_read_unlock();

4
packfile.c

@ -1176,14 +1176,14 @@ void mark_bad_packed_object(struct packed_git *p, const struct object_id *oid)
} }


const struct packed_git *has_packed_and_bad(struct repository *r, const struct packed_git *has_packed_and_bad(struct repository *r,
const unsigned char *sha1) const struct object_id *oid)
{ {
struct packed_git *p; struct packed_git *p;
unsigned i; unsigned i;


for (p = r->objects->packed_git; p; p = p->next) for (p = r->objects->packed_git; p; p = p->next)
for (i = 0; i < p->num_bad_objects; i++) for (i = 0; i < p->num_bad_objects; i++)
if (hasheq(sha1, if (hasheq(oid->hash,
p->bad_object_sha1 + the_hash_algo->rawsz * i)) p->bad_object_sha1 + the_hash_algo->rawsz * i))
return p; return p;
return NULL; return NULL;

2
packfile.h

@ -160,7 +160,7 @@ int packed_object_info(struct repository *r,
off_t offset, struct object_info *); off_t offset, struct object_info *);


void mark_bad_packed_object(struct packed_git *, const struct object_id *); void mark_bad_packed_object(struct packed_git *, const struct object_id *);
const struct packed_git *has_packed_and_bad(struct repository *r, const unsigned char *sha1); const struct packed_git *has_packed_and_bad(struct repository *, const struct object_id *);


#define ON_DISK_KEEP_PACKS 1 #define ON_DISK_KEEP_PACKS 1
#define IN_CORE_KEEP_PACKS 2 #define IN_CORE_KEEP_PACKS 2

Loading…
Cancel
Save