[PATCH/RFC v3 05/12] pack-objects: note about in_pack_header_size
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Mar 8, 2018, 11:42 UTC
- Message-ID
- <20180308114232.10508-6-pclouds@gmail.com>
- In-Reply-To
- <20180308114232.10508-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 4b17402953..2ccd6359d2 100644 --- a/pack-objects.h +++ b/pack-objects.h @@ -78,7 +78,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.2.873.g32ff258c87