This repository was archived by the owner on Jul 9, 2026. It is now read-only.
Repository navigation
Tags: withgraphite/git
Tags
pack-objects: add damage-control stdin packs mode Add a storm-oriented stdin-packs mode that skips best-effort namehash traversal and pack-order reverse-index enumeration when callers only need a valid low-latency roll-up. This keeps damage-control repacks write-bound while preserving the normal stdin-packs behavior for quality repacks. Co-authored-by: Cursor <cursoragent@cursor.com>
midx-write: handle noop writes when converting incremental chains When updating a MIDX, we optimize out writes that will result in an identical MIDX as the one we already have on disk. See b3bab9d (midx-write: extract function to test whether MIDX needs updating, 2025-12-10) for more details on exactly which writes are optimized out. If `midx_needs_update()` can't rule out any of the obvious cases (e.g., the checksum is invalid, we're requesting a different version, or performing compaction which always requires an update), then we compare the packs we're writing to the packs we already know about. If there are an equal number of packs being written as there are in any existing MIDX layer(s), then we compare the packs by their name. This comparison fails when we have an incremental MIDX chain with at least two layers, since we do not recursively peel through earlier layers, instead treating the `->pack_names` array of the tip MIDX layer as containing all `m->num_packs + m->num_packs_in_base` packs. Adjust this to instead look through the MIDX layers one by one when comparing pack names. While we're at it, fix a typo above in the same function. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
midx-write: handle noop writes when converting incremental chains When updating a MIDX, we optimize out writes that will result in an identical MIDX as the one we already have on disk. See b3bab9d (midx-write: extract function to test whether MIDX needs updating, 2025-12-10) for more details on exactly which writes are optimized out. If `midx_needs_update()` can't rule out any of the obvious cases (e.g., the checksum is invalid, we're requesting a different version, or performing compaction which always requires an update), then we compare the packs we're writing to the packs we already know about. If there are an equal number of packs being written as there are in any existing MIDX layer(s), then we compare the packs by their name. This comparison fails when we have an incremental MIDX chain with at least two layers, since we do not recursively peel through earlier layers, instead treating the `->pack_names` array of the tip MIDX layer as containing all `m->num_packs + m->num_packs_in_base` packs. Adjust this to instead look through the MIDX layers one by one when comparing pack names. While we're at it, fix a typo above in the same function. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
multi-pack-index: implement --max-chain-depth Signed-off-by: Vicent Marti <vmg@strn.cat>
midx: implement --max-objects-per-layer Signed-off-by: Vicent Marti <vmg@strn.cat>
http: add connectTimeout Signed-off-by: Vicent Marti <vmg@strn.cat>
repack: implement closure mode Signed-off-by: Vicent Marti <vmg@strn.cat>
repack: implement closure mode Signed-off-by: Vicent Marti <vmg@strn.cat>
repack: always keep midx closure Signed-off-by: Vicent Marti <vmg@strn.cat>
repack: enforce ordering for geometric constraints Signed-off-by: Vicent Marti <vmg@strn.cat>
PreviousNext