Merge branch 'jc/pack-objects'
* jc/pack-objects: pack-objects: shrink struct object_entry
This commit is contained in:
commit
eeb8e8373f
@ -38,17 +38,18 @@ struct object_entry {
|
|||||||
void *delta_data; /* cached delta (uncompressed) */
|
void *delta_data; /* cached delta (uncompressed) */
|
||||||
unsigned long delta_size; /* delta data size (uncompressed) */
|
unsigned long delta_size; /* delta data size (uncompressed) */
|
||||||
unsigned long z_delta_size; /* delta data size (compressed) */
|
unsigned long z_delta_size; /* delta data size (compressed) */
|
||||||
unsigned int hash; /* name hint hash */
|
|
||||||
enum object_type type;
|
enum object_type type;
|
||||||
enum object_type in_pack_type; /* could be delta */
|
enum object_type in_pack_type; /* could be delta */
|
||||||
|
uint32_t hash; /* name hint hash */
|
||||||
unsigned char in_pack_header_size;
|
unsigned char in_pack_header_size;
|
||||||
unsigned char preferred_base; /* we do not pack this, but is available
|
unsigned preferred_base:1; /*
|
||||||
* to be used as the base object to delta
|
* we do not pack this, but is available
|
||||||
* objects against.
|
* to be used as the base object to delta
|
||||||
*/
|
* objects against.
|
||||||
unsigned char no_try_delta;
|
*/
|
||||||
unsigned char tagged; /* near the very tip of refs */
|
unsigned no_try_delta:1;
|
||||||
unsigned char filled; /* assigned write-order */
|
unsigned tagged:1; /* near the very tip of refs */
|
||||||
|
unsigned filled:1; /* assigned write-order */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -859,9 +860,9 @@ static void rehash_objects(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned name_hash(const char *name)
|
static uint32_t name_hash(const char *name)
|
||||||
{
|
{
|
||||||
unsigned c, hash = 0;
|
uint32_t c, hash = 0;
|
||||||
|
|
||||||
if (!name)
|
if (!name)
|
||||||
return 0;
|
return 0;
|
||||||
@ -908,7 +909,7 @@ static int add_object_entry(const unsigned char *sha1, enum object_type type,
|
|||||||
struct packed_git *p, *found_pack = NULL;
|
struct packed_git *p, *found_pack = NULL;
|
||||||
off_t found_offset = 0;
|
off_t found_offset = 0;
|
||||||
int ix;
|
int ix;
|
||||||
unsigned hash = name_hash(name);
|
uint32_t hash = name_hash(name);
|
||||||
|
|
||||||
ix = nr_objects ? locate_object_entry_hash(sha1) : -1;
|
ix = nr_objects ? locate_object_entry_hash(sha1) : -1;
|
||||||
if (ix >= 0) {
|
if (ix >= 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user