mbox series

[0/4] pack-objects: support `--max-pack-size` for cruft packs

Message ID cover.1693262936.git.me@ttaylorr.com (mailing list archive)
Headers show
Series pack-objects: support `--max-pack-size` for cruft packs | expand

Message

Taylor Blau Aug. 28, 2023, 10:48 p.m. UTC
This short series comes from the beginning of a longer one with the goal
of giving users more flexible options to manage a set of cruft packs.

The goal of that series is to be able to do things like:

    $ git repack --cruft --max-cruft-size=10G

and coalesce smaller cruft packs together until they reach the given
threshold.

This series takes a tiny step towards that direction by making
`--max-pack-size` work with cruft packs. This will be necessary since we
have to guess the size of cruft packs when we combine two or more
existing cruft packs.

This accommodates situations like having an object which, when packed
with a cruft pack that is below the size threshold, crosses over and
causes the resulting pack to go above the size threshold. When
specifying `--max-pack-size`, we would split the pack appropriately, and
pack the aforementioned object separately.

But that is neither here nor there, since this series just makes a start
in getting `--max-pack-size` to work with `--cruft`. Thanks in advance
for your review!

Taylor Blau (4):
  builtin/pack-objects.c: remove unnecessary strbuf_reset()
  builtin/pack-objects.c: support `--max-pack-size` with `--cruft`
  Documentation/gitformat-pack.txt: remove multi-cruft packs alternative
  Documentation/gitformat-pack.txt: drop mixed version section

 Documentation/git-pack-objects.txt |  4 +--
 Documentation/gitformat-pack.txt   | 36 +-------------------
 builtin/pack-objects.c             |  8 ++---
 builtin/repack.c                   |  3 +-
 t/t5329-pack-objects-cruft.sh      | 54 ++++++++++++++++++++++++------
 5 files changed, 50 insertions(+), 55 deletions(-)