aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-10-23 13:21:26 -0700
committerJunio C Hamano <gitster@pobox.com>2013-10-23 13:21:26 -0700
commiteeb8e8373f68b706f5fc8a00760c3dedf239db70 (patch)
tree20e741eb0d3212b686cd23701dc259acc6c98da6 /builtin
parentdb9bdfbeb044f73a01f6325f4ad61413666a2ce0 (diff)
parent63cdcfa40f5791dd233c574f633e56e4058e5f8e (diff)
downloadgit-eeb8e8373f68b706f5fc8a00760c3dedf239db70.tar.gz
git-eeb8e8373f68b706f5fc8a00760c3dedf239db70.tar.xz
Merge branch 'jc/pack-objects'
* jc/pack-objects: pack-objects: shrink struct object_entry
Diffstat (limited to 'builtin')
-rw-r--r--builtin/pack-objects.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index e86cd5729..36273dd6f 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -38,17 +38,18 @@ struct object_entry {
void *delta_data; /* cached delta (uncompressed) */
unsigned long delta_size; /* delta data size (uncompressed) */
unsigned long z_delta_size; /* delta data size (compressed) */
- unsigned int hash; /* name hint hash */
enum object_type type;
enum object_type in_pack_type; /* could be delta */
+ uint32_t hash; /* name hint hash */
unsigned char in_pack_header_size;
- unsigned char preferred_base; /* we do not pack this, but is available
- * 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 char filled; /* assigned write-order */
+ unsigned preferred_base:1; /*
+ * we do not pack this, but is available
+ * to be used as the base object to delta
+ * objects against.
+ */
+ unsigned no_try_delta:1;
+ 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)
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;
off_t found_offset = 0;
int ix;
- unsigned hash = name_hash(name);
+ uint32_t hash = name_hash(name);
ix = nr_objects ? locate_object_entry_hash(sha1) : -1;
if (ix >= 0) {