OpenAI Git · patches & notes<br>openai/gitpatches / upstream status☀theme
FromTed Nyman<br>Date20 Jul 2026<br>Commit1be6ebe26403<br>Patches2<br>A path-limited git stash expanded the full sparse index even when every requested path was already inside the sparse checkout.<br>Keep the index sparse when possible, expand it when a pathspec needs the full index, and fix a related out-of-bounds read. Paths outside the sparse-checkout cone retain their existing behavior.
−18.87 s four index expansions<br>+ 0.06 s zero index expansions
FromTaylor Blau<br>Date21 Jun 2026<br>Commit7e6de2ac6281<br>Patches4<br>Path-based pack traversal could not use reachability bitmaps or delta islands.<br>Enable both existing pack optimizations during path-walk by collecting commit and tree information from its existing callback. Fall back to ordinary traversal when a bitmap cannot satisfy the request.
FromTed Nyman<br>Date26 Jul 2026<br>Commitc4244bdfe6d2<br>Patches6<br>Concurrent pack downloads could corrupt a partial pack, race cleanup, or mishandle a completed resume.<br>Write each download at the correct offset, keep the pack available for indexing, and handle completed downloads. Accept an existing keep file only when its pack hash matches the advertised value.
FromTaylor Blau<br>Date24 Jul 2026<br>Commitfd2739b159d0<br>Patches5<br>Duplicate objects in a pack could confuse reverse indexes, multi-pack indexes, and bitmap reuse.<br>Match objects to their actual pack offsets, recover usable copies when resolving deltas, and avoid unsafe bitmap reuse. Fall back to ordinary packing when a selected index entry does not match its physical pack position.
FromTaylor Blau<br>Date12 Jul 2026<br>Commit90202ce6e1da<br>Patches4<br>Some Git servers cannot accept REF_DELTA objects, but clients could not negotiate that restriction.<br>Add a no-ref-delta capability and teach send-pack and pack-objects to honor it. Keep the new restriction independent of ofs-delta so servers can state exactly which object formats they accept.
FromTaylor Blau<br>Date26 Jun 2026<br>Commita53c3b619337<br>Patches10<br>Git could not combine geometric repacking and cruft packs in the same operation.<br>Roll older packs together while writing unreachable objects to a separate cruft pack. Leave packs outside the geometric rollup available and use a consistent reference snapshot when generating bitmaps.
FromTaylor Blau<br>Date12 Jun 2026<br>Commit6afc679fa623<br>Patches3<br>Incremental multi-pack-index writes ignored the requested base and omitted packs needed by later layers.<br>Honor the selected base and include newer packs so the resulting index and bitmap remain usable. Packs above the requested base are included instead of being silently excluded from the new layer.
⎇git status: 18 branches / 105 patches Faster git status through filesystem monitoring, parallel index loading, and bulk worktree scans.
FromTed Nyman<br>Date28 Jul 2026<br>Commitedb762a50b66<br>Patches1<br>Checking out or restoring an unchanged path rewrote the index even when nothing changed.<br>Skip the index write when checkout does not change any entries. Both git checkout and git restore retain their existing behavior when an installed post-index-change hook requires the write.
FromTed Nyman<br>Date24 Jul 2026<br>Commit047e0526de0f<br>Patches1<br>A reused loop index made Coccinelle's static analysis run for hours and hit CI's six-hour limit.<br>Declare separate loop indexes so static analysis can finish normally. Branch deletion behaves exactly as before; each loop variable now stays within the loop that uses it.
−6 h static-analysis timeout<br>+5 lines isolated loop indexes
FromTed Nyman<br>Date26 Jul 2026<br>Commitb1262a537b6c<br>Patches1<br>Trace2 showed fetch negotiation but not the time spent downloading packfile URIs.<br>Add one Trace2 region around the downloads and record the number of advertised packfiles. This exposes external download time without emitting a separate tracing event for every pack.
FromTaylor Blau<br>Date14 Jul 2026<br>Commit89fbe6e55f1e<br>Patches5<br>Bitmap selection undervalued merge commits that expose large amounts of repository history.<br>Choose bitmap commits based on the history they make reachable rather than path length alone. The measured build fell from 984.73 seconds to 200.06 seconds while both runs selected the same 578 bitmaps.
−984.73 s MIDX bitmap write<br>+200.06 s MIDX bitmap write
FromTaylor Blau<br>Date20 Jul 2026<br>Commit4e342ff99030<br>Patches2<br>Parallel checkout reported collisions but not how work was distributed among workers.<br>Record each worker's item count, bytes, failures, elapsed time, and slowest item when Trace2 is enabled. These counters show whether a long checkout comes from uneven work or one unusually slow file.
FromTaylor Blau<br>Date23 Jul 2026<br>Commite6386b0dde89<br>Git reopened cached directories even after confirming they contained no untracked files.<br>Reuse cached empty directories after confirming that their contents and ignore rules have not changed. A modified .gitignore still triggers the normal directory checks.
FromTaylor Blau<br>Date21 Jul 2026<br>Commitf0a23ff73781<br>Git decoded its cache-tree and...