git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 5/5] repack: begin combining cruft packs with `--combine-cruft-below-size`

From
Taylor Blau <me@ttaylorr.com>
Date
Mar 19, 2025, 22:40 UTC
Message-ID
<Z9tH5zbZ/eWC1e6p@nand.local>
In-Reply-To
<xmqqh63q47zd.fsf@gitster.g>
On Tue, Mar 18, 2025 at 09:30:14AM -0700, Junio C Hamano wrote:
Show 21 quoted lines
> Taylor Blau <me@ttaylorr.com> writes:
>
> > @@ -81,6 +81,14 @@ to the new separate pack will be written.
> >  	`--max-pack-size` (if any) by default. See the documentation for
> >  	`--max-pack-size` for more details.
> >
> > +--combine-cruft-below-size=<n>::
> > +	When generating cruft packs without pruning, only repack
> > +	existing cruft packs whose size is strictly less than `<n>`.
> > +	Cruft packs whose size is greater than or equal to `<n>` are
> > +	left as-is and not repacked. Useful when you want to avoid
> > +	repacking large cruft pack(s) in repositories that have many
> > +	and/or large unreachable objects.
> > +
>
> Shared with existing entries in this file, but let's strive to make
> sure we explicitly mention units.  --max-cruft-size=<n> is explained
> to cramp below '<n>' bytes, which is great, --max-pack-size=<n> says
> it accepts k/m/g suffixes and its minimum size is 1 MiB, which is
> explicit enough hint that this is counted in bytes.  This new entry
> should hint that this is also counted in bytes.

Definitely an oversight on my part, I certainly agree with this sentiment.

FWIW, '--max-cruft-size' no longer explicitly says "in bytes", but mostly because it (a) doesn't describe `<n>` at all, because (b) it refers readers to the documentation on `--max-pack-size`. No need to cover it twice there.

Thanks, Taylor

Previous: Junio C HamanoNext: Elijah Newren
Message 10 of 19 in “repack: introduce '--combine-cruft-below-size'”
  1. 0/5 repack: introduce '--combine-cruft-below-size'Taylor Blau, Mar 17, 2025
  2. 1/5 t/t5329-pack-objects-cruft.sh: evict 'repack'-related testsTaylor Blau, Mar 17, 2025
  3. Elijah NewrenMar 19, 2025
  4. 2/5 t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size testsTaylor Blau, Mar 17, 2025
  5. Elijah NewrenMar 19, 2025
  6. 3/5 t/t7704-repack-cruft.sh: consolidate `write_blob()`Taylor Blau, Mar 17, 2025
  7. 4/5 repack: avoid combining cruft packs with `--max-cruft-size`Taylor Blau, Mar 17, 2025
  8. 5/5 repack: begin combining cruft packs with `--combine-cruft-below-size`Taylor Blau, Mar 17, 2025
  9. Junio C HamanoMar 18, 2025
  10. Taylor BlauMar 19, 2025
  11. Elijah NewrenMar 19, 2025
  12. Taylor BlauMar 19, 2025
  13. 0/5 repack: introduce '--combine-cruft-below-size'Taylor Blau, Mar 19, 2025
  14. 1/5 t/t5329-pack-objects-cruft.sh: evict 'repack'-related testsTaylor Blau, Mar 19, 2025
  15. 2/5 t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size testsTaylor Blau, Mar 19, 2025
  16. 3/5 t/t7704-repack-cruft.sh: consolidate `write_blob()`Taylor Blau, Mar 19, 2025
  17. 4/5 repack: avoid combining cruft packs with `--max-cruft-size`Taylor Blau, Mar 19, 2025
  18. 5/5 repack: begin combining cruft packs with `--combine-cruft-below-size`Taylor Blau, Mar 19, 2025
  19. Elijah NewrenMar 20, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.