Skip to content

v0.5.28

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Nov 22:31
· 111 commits to main since this release
v0.5.28

What's changed

  • Merge branch 'factory/public-api-snapshot-a3fd' (fc70734)
  • Refresh grit-lib public-api snapshot for IndexPathSkipPredicate (15e6c15)
  • docs: record the pack-refs merge and its gc, clone and ref rows (c6f34d8)
  • refs: pack loose refs with one borrowed merge instead of a HashMap rebuild (cde0d65)
  • Refresh grit-lib public-api.txt for describe module (8c02c17)
  • Fmt describe first-parent test assertion (99721b7)
  • Docs: note first-parent tag reachability in describe (a30991e)
  • Fix describe tag selection and formatting (962d4cf)
  • Add RevWalk::describe and grit describe for nearest tags (0522243)
  • Restore custom_odb_porcelain test helpers dropped in merge (c3d399a)
  • Merge branch 'factory/push-refspec-snapshot-f7f9' (dc80155)
  • Fix push refspec planning scanning all local refs per refspec (1c0ce37)
  • Merge branch 'factory/reset-hard-rss-6421' (325bb3c)
  • Merge branch 'factory/status-clean-10k' (7094798)
  • Merge branch 'factory/ref-tx-delete-reflog' (17f9e61)
  • Apply skip_index_path when restrict_to_paths is set on blob scan (3f2ba49)
  • Fixes #2439: cut hard-reset peak RSS on wide tree transitions (acecf8e)
  • Merge branch 'factory/custom-odb-hotfix-2444' (b3771bd)
  • Fix custom_odb_porcelain helpers dropped in rebase conflict (d15113e)
  • Merge branch 'factory/fix-is-bare-linked-worktree' (8b52c19)
  • Fix reftable reflog visibility after ref delete (8cce2ec)
  • Document the workload-set hot text layout and record status baselines (52e1e56)
  • Regenerate the hot-text layout for the current tree (4380e14)
  • Store each racy entry's attributes once per distinct set (ea8ef3c)
  • Lay out hot code by workload set and list every alias of a merged function (1cdb89d)
  • Merge branch 'factory/fix-full-tests-compile' (30287d4)
  • Fix full-tests migration semantics dropped in review (16167e4)
  • Fixes #2444: update full-tests integration for non_exhaustive API (08ed96f)
  • Merge branch 'factory/fsck-connectivity-only-perf' (a258013)
  • Merge branch 'factory/histogram-perf-6456' (32d68be)
  • Fix Repository::is_bare for linked bare worktrees (71eeaaf)
  • Merge branch 'factory/custom-primary-contains-2446' (274c154)
  • Fix histogram diff memory blow-up and anchor scan cost on repeated lines (894d09c)
  • Fixes #2449: fast fsck --connectivity-only via header-only kind map (d639ff3)
  • Merge branch 'factory/upload-pack-unshallow-2447' (2d0a4a5)
  • Fixes #2445: flush ODB before rebase stop and exec conflict HEAD updates (3dfb05b)
  • Fix reftable delete+ReflogUpdate disposition (51f9c78)
  • Fix reftable reflog clear order in same-batch transactions (4dfaec2)
  • Fixes #2450: drop reflog when RefTransaction deletes a ref (2e5aead)
  • Batch custom-primary tag validation through contains_many (52584e6)
  • Batch tag target checks for custom-primary local fetch (939cc8c)
  • Fix local fetch into custom primary calling contains per object (5e696ac)
  • Merge branch 'factory/reftable-compaction-tombstone-e1d3' (191504a)
  • Stop depth walk at server shallow boundaries (859fa9c)
  • Fix upload-pack bogus unshallow on multi-want re-shallow (40fbeb5)
  • Merge branch 'factory/odb-flush-publish-6431' (1d59294)
  • Add custom-primary pick, revert, and conflict overlay tests (0a22d95)
  • Fix reftable non-bottom compaction dropping delete tombstones (074bfb5)
  • Merge branch 'factory/log-follow-absent-path-6420' (d27b549)
  • Flush ODB before rebase --exec HEAD updates; refresh public-api (bc42ec0)
  • Fix ODB flush before ref and index publish (Fixes #2443) (6690130)
  • Fix log --follow when path absent at start commit (9a9f7ed)
  • Fix merge overlay persist on custom object store primary (db8fb10)
  • Compare post-grit status to baseline from system git reset (f6a04d9)
  • Merge branch 'factory/public-api-6409' (3344230)
  • Rebase: pass sparse hint into coalesced tree diff (db30623)
  • Refresh grit-lib public-api snapshot after ApplyError and revwalk changes (d3aab95)
  • Derive coalesced delete paths from old tree OID after index align (c69c4b0)
  • Gate coalesced hard-reset deletes on wholesale safety; keep untracked (7797e50)
  • Fixes #2439: coalesce hard-reset tree diff to cut peak RSS (fd7d69e)
  • Fix exec failure rollback to keep untracked files created while stopped (a60cc44)
  • Fix exec restore: do not delete user untracked files on abort (a0f31aa)
  • Fix exec continue: preserve grit-plan and rollback failed commands (d719bcd)
  • Fix #2432: stop resumably on rebase --exec replay conflict (c7ff580)
  • Merge branch 'factory/sparse-switch-reset-perf-6390' (dfff8a1)
  • Fix cone sparse switch/reset staying proportional to the checkout cone (a951b4b)
  • Review: restore worktree backups on remove_paths partial failure (0fef76a)
  • Review: fix cancel rollback, ApplyError::Cancelled, index_apply tests (93782d3)
  • Fix #2433: remove index locks when add/mv/rm is interrupted (995710b)
  • Fix lazy hide frontier loss on generation cutoff (bcc923a)
  • Fix lazy hide misclassifying include-side tips on divergent ranges (a9e35ec)
  • Fixes #2438: lazy hide-side paint for path-limited range revwalks (fe03893)
  • Merge branch 'factory/diff-basename-o-n-6387' (0ed2521)
  • Merge branch 'factory/corrupt-object-errors-6353' (4678808)
  • Fix exec restore: do not delete user untracked files on abort (5c20707)
  • Fix exec continue: preserve grit-plan and rollback failed commands (2da61a2)
  • Fix #2432: stop resumably on rebase --exec replay conflict (1531487)
  • Fix quadratic basename rename preflight on disjoint repeated basenames (8e3b303)
  • Fix log --follow when path is absent at start commit (ff16d54)
  • Merge branch 'factory/log-follow-perf-6382' (72b9e6f)
  • Merge branch 'factory/issue-2397-pick-conflict' (6335fb2)
  • Merge branch 'factory/dead-env-knobs' (3977b88)
  • Run rustfmt on warm-hint pack regression test (fe4c4e1)
  • Fix warm-hint regression test to exercise hinted-pack shortcuts (5af1444)
  • Address review: hinted-pack wrap, SHA-256 loose paths, public-api (b72a418)
  • Fix #2430: name corrupt loose and packed object read failures (9be56ce)
  • Fixes #2435: speed up dense revwalk --follow with bloom and cached path lookups (fce443b)
  • Merge branch 'factory/merge-histogram-default-6357' (97da458)
  • Drop environment knobs read from an empty Environment (063eb68)
  • Remove Error and Warning variants nothing constructs (566458c)
  • Merge branch 'factory/restore-hunks-speed' (63ede83)
  • Apply rustfmt to merge_file after rebase (68121f6)
  • Merge branch 'factory/files-refstore-phantom-reflog' (a4d15e4)
  • Fixes #2397: scope repeated-anchor guard to EOF tail base range (d446aa9)
  • Fixes #2397: align merge-ort tail conflicts without broad EOF heuristic (a6e6719)
  • Fixes #2397: conflict when pick appends after deleted tail (2cd8ac6)
  • test: fix merge_ort #2431 harness imports and open_grit_repo (2005711)
  • Fixes #2431: default ort tree merges to histogram diff (03215c2)
  • Document commit-prefix reads and record the one-line log rows (864c8d1)
  • Regenerate the hot-text layout for the commit-prefix read path (ce787ef)
  • Stream one-line log and revs listings with commit prefixes (bef01f5)
  • Read commits only through their subject for one-line walks (915ef1d)
  • Merge branch 'factory/push-tag-reject-6335' (9e26e2a)
  • Lock every reflog append destination for log-only symrefs (38b4330)
  • Address review: symref peel refresh, reflog locks, lock cleanup (59a2d99)
  • Fix FilesRefStore phantom reflog on failed CAS (3c563c6)
  • Review: wire tag rejection before fetch-first; keep message crate-private (312256d)
  • Fixes #2425: reject push that moves existing remote tag without force (9ef18c9)
  • Document the hunk restore speedup and record its daily rows (aaded59)
  • Apply hunks to a blob without copying line bytes (5132170)
  • Shrink the line diff's transient memory (372d4fd)
  • Skip redundant hashing when restoring hunks on the worktree (210d384)
  • Fixes #2429: use sorted index lookups in clean dir mode (672cd5c)
  • Merge branch 'factory/push-relative-path-6345' (da9d6d5)
  • Merge branch 'factory/blame-move-dedupe-6337' (8ed4f99)
  • Fixes #2428: accept relative paths as grit push remotes (7720efa)
  • Fix blame -M/-C duplicate rows for repeated identical lines (6e9b3ed)
  • Render fetch and push outcomes from library classification (ff57f1b)
  • Classify fetch and push ref updates in grit-lib (74b58a3)
  • Sync grit-lib public-api snapshot after DiffEntriesResult return type (6f80f84)
  • Fix #2411: basename rename detection follow-up (dc410cd)
  • Run rustfmt on grit-lib diff module imports (49c4e51)
  • Record before/after daily baselines for the 2026-10-31 regressions (15b5e25)
  • Fetch attribute blobs with the checkout batch in chunked checkouts (0721567)
  • Read only the pack trailer when writing a .rev sidecar (8a10b5b)
  • Read the index once per hard reset and look up restricted paths in order (037f5a8)
  • Decide an up-to-date rebase before walking the replay range (a674218)
  • Hash racy hard-reset paths up to 1,024 files instead of spooling them (2d0590e)
  • Skip hashing size-changed files and old binary blobs in worktree diffs (7bc7b77)
  • Look up gitlinks by binary search when probing for embedded repos (d60a2d8)
  • Merge branch 'factory/diff-rename-basename-e669' (101be3c)
  • Merge branch 'cursor/fix-pack-ingest-rev-rss-02ed' (1058fe5)
  • Merge branch 'factory/ci-fmt-worktree-guard' (ce7a31d)
  • fix: pack ingest peak RSS by reading pack trailer for rev sidecar (58425b1)
  • fix: merge pathspec-limited tree diffs with DiffEntriesResult (10a1f60)
  • Fix rustfmt in worktree_guard untracked scan (f7fe91d)
  • Merge latest main into rename basename branch (2052787)
  • Drop redundant case-variant config lookups (21a765a)
  • Return typed errors from config value parsers (237a575)
  • Merge branch 'factory/diff-pathspec-rename-2422' (a37035b)
  • Merge branch 'factory/rm-dir-perf-2424' (2e58110)
  • fix: restore json_error_kinds integration module after rebase (8851056)
  • fix: restore pathspec prefilter in diff file targets (b4e1bb0)
  • fix: worktree_entries_in arity and rustfmt after rebase (0ffd05e)
  • Skip basename similarity when basenames are unambiguous (29c19d2)
  • Address review: propagate rename-limit stderr and reuse rename blob cache (4be9dc2)
  • Fix rename detection basename pass before renameLimit (a3537f7)
  • Fixes #2422: apply pathspecs before rename detection in tree diffs (c0b6593)
  • Merge branch 'factory/fsck-alternates-perf-02a9' (ba8a3b5)
  • Fixes #2424: speed up grit rm directory pathspec collection (178dc36)
  • Merge branch 'factory/fix-public-api-6297' (0ccc2e3)
  • Merge branch 'factory/notes-rewrite-2418' (7d1089b)
  • Merge branch 'factory/gc-index-roots-6289' (4b7b951)
  • Fix pack idx verify and Odb-owned loose negative cache (542aedb)
  • Fix alternates ODB pack rescan and fsck over shared object stores (afaf27e)
  • Refresh grit-lib public-api snapshot for pathspec exports (832c3d6)
  • Address review: preflight notes rewrite and snapshot CAS (b80d942)
  • Fixes #2418: copy notes when history rewrites commits (3640483)
  • Fix concurrent bundle cache races with flock claim (3edaa6f)
  • Fixes #2421: include all worktree indexes in GC reachability roots (b93344d)
  • Merge branch 'factory/show-diff-pool-floor' (2e5c937)
  • Merge branch 'factory/pager-missing-less' (cbeb673)
  • Merge branch 'factory/issue-2415-bulk-dir-file' (d2084c7)
  • Keep session_cancel in default integration suite (95319e4)
  • Fixes #2413: add JSON error kinds for common CI failures (5eb6141)
  • Fix large mixed checkout regression tests (268c350)
  • Fix bulk checkout index loss on dir-to-file transitions (f0a803c)
  • Honor index modes for attribute pathspec matching (bd1961a)
  • Fix attr pathspec matching for restore, stash, and rm (03b6b66)
  • Document the diff pool floor and record its daily rows (a6a06cf)
  • Diff small commits on the calling thread (a3efc8c)
  • Route env-assignment and expansion pagers through the shell (4c69c84)
  • Fixes #2408: fall back to terminal when pager cannot start (abde188)
  • Merge branch 'factory/gc-worktree-index-roots-e26c' (964d4c3)
  • bench: record log rows before and after the streamed JSON listing fixes (3b3ab65)
  • Lay out the hot code path for release builds too (06e8355)
  • Write each streamed JSON row in one call (de1ce85)
  • log: set up a streamed listing once (dc715b9)
  • Scan filtered packed-refs listings in one pass (433df60)
  • Skip gitlink OIDs in resolve-undo reachability roots (94f750f)
  • Fix gc prune dropping blobs reachable only from linked worktree indexes (a49b6a8)
  • Fixes #2409: stream --json --filter without extra JSON copies (4c23db8)
  • Allow clippy too_many_arguments on tree diff extras entry point (a71d306)
  • Fix attr pathspecs in tree pathspec restrict union (c39c3da)
  • Fix pathspec prefilter for tree-only staged deletions (3701d96)
  • Fixes #2406: warn and continue diff/stash on unreadable worktree dirs (c357c51)
  • Remove the shell-harness setup traces from repository discovery (fce803f)
  • Merge branch 'factory/public-api-check' (42e4aff)
  • Merge branch 'factory/pull-overwrite-hints-6222' (b8806cb)
  • Refresh grit-lib public API snapshot after log --follow (98f4f35)
  • Merge branch 'factory/switch-symlink-untracked-d695' (325e0c5)
  • Fix pull overwrite errors: list paths, hint, and JSON kind (f2ce93e)
  • Fix wholesale untrack scan following symlinks on added paths (0787d1e)
  • Fix mv destination trailing slash and move error messages (097d7ce)
  • Merge branch 'factory/short-hex' (c9349e3)
  • Merge branch 'factory/fetch-deepen-speed' (73e8d02)
  • Use the library short-hex helpers in grit and grit serve (b9f1510)
  • Add ObjectId::to_short_hex and objects::short_hex (361b62a)
  • Document v0 smart-HTTP fetch negotiation and its benchmarks (d22ff8f)
  • Use no-done on stateless v0 fetches (fe22086)
  • Fix v0 smart-HTTP negotiation and offer haves when deepening (f7613ec)
  • Serve the system git http-backend in tests (6d2a10a)
  • First-parent forward scan for is_ancestor (ac8d1db)
  • Fixes #2316: log --follow for file history across renames (82a0279)
  • Merge branch 'factory/diff-target-entries' (d2551ae)
  • Make issue-2403 test compile and run standalone (ed0d0a0)
  • Fix mixed-merge regression test for new auto-merge blob (d0caafb)
  • Persist stage-0 merge objects from overlay on conflict stop (3a96771)
  • Fix dangling empty blob and merge conflict objects (686496c)
  • Thin grit diff onto the library's diff target entries (a178d90)
  • Add Diff::entries and UncommittedDiff::{entries, peer_changes} (0a7c925)
  • Merge branch 'factory/windows-symlinks-2402' (53ed557)
  • Merge branch 'factory/fix-bundle-fetch-no-refspec' (a454050)
  • Fix Windows build and address symlink review feedback (039c8f6)
  • Fix Windows checkout symlinks when core.symlinks is true (c9cde2c)
  • Fix bundle fetch with no refspec when HEAD is missing (44cb7df)
  • Fix CI: refresh public-api snapshot and rustdoc link (fa7a7bb)
  • Drop unused similar compaction helpers after xdiff merge diffs (7d41ce6)
  • Borrow byte interner records; share merge Myers interning (c919642)
  • Address review: byte-accurate merge diffs and Myers perf (99ee42f)
  • Fix merge false conflicts from diff hunk alignment (Fixes #2391) (a28f5b6)
  • Merge branch 'factory/push-labels-2398' (674dd91)
  • Merge branch 'factory/odb-write-no-probe-1c25' (3ef8f80)
  • Merge branch 'factory/fsck-truncated-parent' (c0d44ea)
  • Merge branch 'factory/fix-2400-serve-hooks' (5c98706)
  • Merge branch 'factory/revs-log-stream-ddd2' (a7156c5)
  • Record post-receive callback errors on ReceiveOutcome (05033dc)
  • Fix serve push hooks and protocol serve session API (506477f)
  • Fix streamed revs truncated flag and JSON stream test (5d171c8)
  • Fixes #2388: stream plain revs and log walks instead of buffering (cbc1216)
  • Fix merge compaction keys for non-UTF-8 text blobs (af5742a)
  • Fixes #2397: compact merge diffs like git merge-file (7f67af6)
  • Fix SQLite example flush before reopen and mutex batch state (dbb4727)
  • Fixes #2394: skip Odb contains probes on custom-primary writes (5a50acd)
  • Fix push human labels and diverged non-ff hints (8261e7b)
  • Fixes #2386: avoid fsck panic on truncated commit parent lines (b61f36e)
  • Merge branch 'factory/revwalk-default-order-6470' (fac874b)
  • Merge branch 'factory/log-group-by-author-perf' (4d3675b)
  • Fix count-only author grouping to use exact name/email keys (4e8f775)
  • Fix #2452: speed up log --group-by author vs git shortlog (5c4c723)
  • Keep object-filtered rev-list walks on the full engine (d9ce549)
  • Fix unlimited default RevWalk order to match git rev-list (ecaf0ab)

Full Changelog: v0.5.27...v0.5.28