This topic was born out of tb/pseudo-merge-bitmaps, which has a few quality-of-life improvements in the pack-bitmap machinery. The main changes are to remove the static 'struct bitmap_writer', drop one unused fields, and start using another unused one (see "move commit_positions into commit_pos fields"). There are other smaller changes, too, like cleaning up the flag allocation table in object.h, as well as introducing a new bitmap_writer_free() function. The next round of tb/pseudo-merge-bitmaps will be based on this branch. Thanks in advance for your review! Taylor Blau (6): object.h: add flags allocated by pack-bitmap.h pack-bitmap-write.c: move commit_positions into commit_pos fields pack-bitmap: avoid use of static `bitmap_writer` pack-bitmap: drop unused `max_bitmaps` parameter pack-bitmap-write.c: avoid uninitialized 'write_as' field pack-bitmap: introduce `bitmap_writer_free()` builtin/pack-objects.c | 19 +++- midx-write.c | 17 ++- object.h | 1 + pack-bitmap-write.c | 248 +++++++++++++++++++++-------------------- pack-bitmap.h | 38 +++++-- 5 files changed, 185 insertions(+), 138 deletions(-) base-commit: 83f1add914c6b4682de1e944ec0d1ac043d53d78 -- 2.45.1.151.g7cc3499008c