[PATCH 05/11] pack-objects: note about in_pack_header_size
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Mar 1, 2018, 09:10 UTC
- Message-ID
- <20180301091052.32267-6-pclouds@gmail.com>
- In-Reply-To
- <20180301091052.32267-1-pclouds@gmail.com>
Object header in a pack is packed really tight (see pack-format.txt). Even with 8 bytes length, we need 9-10 bytes most, plus a hash (20 bytes). Which means this field only needs to store a number as big as 32 (5 bits).
This is trickier to pack tight though since a new hash algorithm is coming, the number of bits needed may quickly increase. So leave it for now.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> --- pack-objects.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pack-objects.h b/pack-objects.h index 3941e6c9a6..017cc3425f 100644 --- a/pack-objects.h +++ b/pack-objects.h @@ -32,7 +32,7 @@ struct object_entry { unsigned long z_delta_size; /* delta data size (compressed) */ uint32_t hash; /* name hint hash */ unsigned int in_pack_pos; - unsigned char in_pack_header_size; + unsigned char in_pack_header_size; /* note: spare bits available! */ unsigned type:TYPE_BITS; unsigned in_pack_type:TYPE_BITS; /* could be delta */ unsigned preferred_base:1; /*
-- 2.16.1.435.g8f24da2e1a