This is basically a resend from the last round but rebased on latest master to take advantage of new object-store and oid changes. One minor change is t/README now mentions about git-config when a variable accepts a boolean value. Nguyễn Thái Ngọc Duy (15): read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean pack-objects: a bit of document about struct object_entry pack-objects: turn type and in_pack_type to bitfields pack-objects: use bitfield for object_entry::dfs_state pack-objects: use bitfield for object_entry::depth pack-objects: move in_pack_pos out of struct object_entry pack-objects: move in_pack out of struct object_entry pack-objects: refer to delta objects by index instead of pointer pack-objects: shrink z_delta_size field in struct object_entry pack-objects: don't check size when the object is bad pack-objects: clarify the use of object_entry::size pack-objects: shrink size field in struct object_entry pack-objects: shrink delta_size field in struct object_entry pack-objects: reorder members to shrink struct object_entry ci: exercise the whole test suite with uncommon code in pack-objects Documentation/config.txt | 4 +- Documentation/git-pack-objects.txt | 4 +- Documentation/git-repack.txt | 4 +- builtin/pack-objects.c | 364 +++++++++++++++++++---------- cache.h | 2 + ci/run-build-and-tests.sh | 5 +- object-store.h | 1 + object.h | 1 - pack-bitmap-write.c | 14 +- pack-bitmap.c | 2 +- pack-bitmap.h | 4 +- pack-objects.c | 68 ++++++ pack-objects.h | 314 +++++++++++++++++++++++-- read-cache.c | 4 +- t/README | 22 ++ t/t5300-pack-object.sh | 5 + 16 files changed, 654 insertions(+), 164 deletions(-) -- 2.17.0.367.g5dd2e386c3