Browse Source

pack-objects: convert oe_set_delta_ext() to use object_id

We already store an object_id internally, and now our sole caller also
has one. Let's stop passing around the internal hash array, which adds a
bit of type safety.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jeff King 5 years ago committed by Junio C Hamano
parent
commit
a93c141dde
  1. 2
      builtin/pack-objects.c
  2. 4
      pack-objects.c
  3. 2
      pack-objects.h

2
builtin/pack-objects.c

@ -1756,7 +1756,7 @@ static void check_object(struct object_entry *entry) @@ -1756,7 +1756,7 @@ static void check_object(struct object_entry *entry)
entry->delta_sibling_idx = base_entry->delta_child_idx;
SET_DELTA_CHILD(base_entry, entry);
} else {
SET_DELTA_EXT(entry, base_ref.hash);
SET_DELTA_EXT(entry, &base_ref);
}

unuse_pack(&w_curs);

4
pack-objects.c

@ -203,14 +203,14 @@ struct object_entry *packlist_alloc(struct packing_data *pdata, @@ -203,14 +203,14 @@ struct object_entry *packlist_alloc(struct packing_data *pdata,

void oe_set_delta_ext(struct packing_data *pdata,
struct object_entry *delta,
const unsigned char *sha1)
const struct object_id *oid)
{
struct object_entry *base;

ALLOC_GROW(pdata->ext_bases, pdata->nr_ext + 1, pdata->alloc_ext);
base = &pdata->ext_bases[pdata->nr_ext++];
memset(base, 0, sizeof(*base));
hashcpy(base->idx.oid.hash, sha1);
oidcpy(&base->idx.oid, oid);

/* These flags mark that we are not part of the actual pack output. */
base->preferred_base = 1;

2
pack-objects.h

@ -292,7 +292,7 @@ static inline void oe_set_delta(struct packing_data *pack, @@ -292,7 +292,7 @@ static inline void oe_set_delta(struct packing_data *pack,

void oe_set_delta_ext(struct packing_data *pack,
struct object_entry *e,
const unsigned char *sha1);
const struct object_id *oid);

static inline struct object_entry *oe_delta_child(
const struct packing_data *pack,

Loading…
Cancel
Save