зеркало из https://github.com/microsoft/git.git
pack-objects: use object_id in packlist_alloc()
The only caller of packlist_alloc() already has a "struct object_id", and we immediately copy the hash they pass us into our own object_id. Let's avoid the unnecessary round-trip to a raw sha1 pointer. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
0dfed92dfd
Коммит
f1cbd033e2
|
@ -1147,7 +1147,7 @@ static void create_object_entry(const struct object_id *oid,
|
|||
{
|
||||
struct object_entry *entry;
|
||||
|
||||
entry = packlist_alloc(&to_pack, oid->hash, index_pos);
|
||||
entry = packlist_alloc(&to_pack, oid, index_pos);
|
||||
entry->hash = hash;
|
||||
oe_set_type(entry, type);
|
||||
if (exclude)
|
||||
|
|
|
@ -153,7 +153,7 @@ void prepare_packing_data(struct repository *r, struct packing_data *pdata)
|
|||
}
|
||||
|
||||
struct object_entry *packlist_alloc(struct packing_data *pdata,
|
||||
const unsigned char *sha1,
|
||||
const struct object_id *oid,
|
||||
uint32_t index_pos)
|
||||
{
|
||||
struct object_entry *new_entry;
|
||||
|
@ -177,7 +177,7 @@ struct object_entry *packlist_alloc(struct packing_data *pdata,
|
|||
new_entry = pdata->objects + pdata->nr_objects++;
|
||||
|
||||
memset(new_entry, 0, sizeof(*new_entry));
|
||||
hashcpy(new_entry->idx.oid.hash, sha1);
|
||||
oidcpy(&new_entry->idx.oid, oid);
|
||||
|
||||
if (pdata->index_size * 3 <= pdata->nr_objects * 4)
|
||||
rehash_objects(pdata);
|
||||
|
|
|
@ -183,7 +183,7 @@ static inline void packing_data_unlock(struct packing_data *pdata)
|
|||
}
|
||||
|
||||
struct object_entry *packlist_alloc(struct packing_data *pdata,
|
||||
const unsigned char *sha1,
|
||||
const struct object_id *oid,
|
||||
uint32_t index_pos);
|
||||
|
||||
struct object_entry *packlist_find(struct packing_data *pdata,
|
||||
|
|
Загрузка…
Ссылка в новой задаче