Repository navigation
What's changed
- Fixes #2533: list all remote ref namespaces like git ls-remote (aec0111)
- Cap pack zlib inflate reservations for lying size headers (98c4dec)
- Quote paths in pull Markdown conflicts and gitlink warnings (6cf2742)
- Fix path quoting in add/mv/rm/restore/clean and conflict output (6249e08)
- Fixes #2249: validate symbolic ref targets before prepare locks (0e6622e)
- Review: flush-only means 0000; refresh public-api snapshot (b3916f2)
- Fixes #2340: treat flush-only v0 ref ads as empty-repo handshake (46d6826)
- Fix stash raw tree path materialization after Vec migration (cdbad73)
- Fixes #2535: skip pull autostash on unborn branches (b6f1c31)
- Fix commit auto-stage when status.showUntrackedFiles is no (b664bc8)
- Fixes #2368: redact checkout URLs in errors and CLI output (71a2773)
- Fixes #2303: fence untrusted text in show --markdown (7c3e7bc)
- Regenerate the share, push and sync JSON schemas (6239373)
- Document grit share resolve and combining without asking (1088eb8)
- Add grit share resolve, and combine heads without asking in sync and push (8b9a09b)
- Put two diverged heads of a shared branch back together (4138a0d)
- Regenerate the push, sync, status and share JSON schemas (f523b62)
- Document divergence scenarios and exit status 3 (68f1aa8)
- Report shared-branch divergences in sync, status, share list and push (b545211)
- Classify how two heads of a shared branch diverged (a38cfd3)
- Keep other members' heads out of grit sync's branches (e53e7d8)
- Let grit share invite people by email address (d874972)
- Regenerate the share, sync and status JSON schemas (91cb3e8)
- Document grit share, and shared branches in sync, push and status (ba16515)
- Add grit share, and show shared branches in sync, push and status (d70930e)
- Add the shared-branch API that grit and grithub speak (9bde3d6)
- Add grit sync, and integrate from a clone of a hosted project (862edf8)
- Format the bundle prerequisite test (f8aaa51)
- Count every ref when checking bundle prerequisites are connected (c3a7643)
- Fix grit-lib build after the stash path merges (d9fe572)
- Merge branch 'factory/fix-public-api-6877' (a400174)
- Merge branch 'factory/serve-discard-body-79db' (32fdd8c)
- Refresh grit-lib public-api snapshot (877721e)
- Bound raw body drain after decode errors via body bridge (e8f02fa)
- Fixes #2527: drain large POST bodies before early HTTP responses (525f596)
- Run cargo fmt on ureq_client timeout match (110efa5)
- Use memihash lookup for restore icase collision planning (d81935b)
- Address review: batch restore icase collisions and fix test build (67a51ab)
- Fix case-only directory rename leaving wrong on-disk spelling (e345a66)
- Fixes #2521: preserve assume-unchanged across reset, merge, and stash (32e26b9)
- Add PERF-SETTLED.md, the record of settled performance questions (7c938bc)
- Review: restore references_update_head tests and update blame JSON schema (9b78847)
- Fix shallow boundary handling for show, log, diff, and blame (dcf31e3)
- Merge branch 'factory/fix-non-utf8-switch-6820' (39dbb1c)
- Fixes #2513: decode stored paths for switch, merge, and restore guards (43f18d5)
- Merge branch 'factory/http-low-speed-per-read-14ce' (c1a133d)
- Merge branch 'factory/fix-config-parse-errors-2519' (6f7f32c)
- Merge branch 'factory/stash-non-utf8-2512' (0db665d)
- Abort clone on low-speed bundle probe instead of re-fetching (1ff0e88)
- Fix HTTP low-speed timeout on silent and stalled-body servers (5ab600f)
- Merge branch 'factory/bundle-atomic-create-6828' (cc0fc88)
- Stash untracked preflight: compare path collisions on raw bytes (06c2157)
- Fixes #2512: stash non-UTF-8 paths use raw index bytes (9611272)
- Merge branch 'factory/fix-json-filter-2409' (3c94c1c)
- Fix config parse errors during repository discovery (e0253ae)
- Use atomic_replace for bundle install on Windows (ca2670e)
- Fix atomic bundle create and typed ObjectNotFound (9280b9a)
- Merge branch 'factory/fix-tag-nonutf8-2510' (e46cd79)
- Merge branch 'factory/clean-non-utf8-2514' (f599c41)
- Merge branch 'factory/fix-index-corrupt-panic' (9d6e97a)
- Fix grit clean --force skipping non-UTF-8 untracked paths (f45f307)
- Fix restore --staged index updates scaling with batch removal (7567cc7)
- Fixes #2409: integration test for large diff --json --filter (008ea5e)
- Fixes #2510: accept non-UTF-8 annotated tag messages (270c151)
- Fixes #2518: return IndexError for truncated or corrupt index files (6772067)
- http: abort silent stalls at lowSpeedTime before response headers (49df994)
- Merge branch 'factory/reset-orphan-tip-reads' (9f40923)
- Merge branch 'factory/fix-rustdoc-public-api' (b0818e7)
- notes: splice on add; fan out when flat root reaches 255 entries (39bc6a4)
- Refresh public-api.txt for ref store backend exports (e5d2888)
- Merge branch 'factory/fix-2508-merge-rename-quadratic' (d1cb18b)
- Merge branch 'factory/http-low-speed-progress-6780' (8fb317b)
- Fixes #2496: splice notes tree on add instead of full rewrite (1db3a0a)
- Add HTTP low-speed regressions for PendingHttp discovery path (58bafd4)
- Document the pick, revert and merge hot-text layout with dist benchmarks (8cfec59)
- Lay out the pick, revert and merge code path in the hot text sections (02de9d9)
- Merge branch 'factory/fix-rustdoc-bundle-link-6785' (4b2cfb4)
- Fixes #2508: linearize same-blob rename augment in merge_trees (9f949c3)
- Document the batched tip header reads for undo-commit (54925ac)
- Fix broken rustdoc link in Bundle::unbundle_with_progress (81f310c)
- Fix unsorted UNTR tracked-under probe to avoid per-dir index scan (469bdce)
- Fixes #2507: use index lookup for UNTR tracked-under probe (6aab124)
- Fixes #2509: honour cancel during switch planning and wholesale checkout (a3a8a7a)
- Merge branch 'factory/loose-ref-casefold-2502' (1933df5)
- Merge branch 'factory/receive-pack-custom-primary-2506' (72741fd)
- Merge branch 'factory/fix-clone-http-stall-2469' (8f5e243)
- Merge branch 'factory/ref-tx-head-old-oid-012d' (e9d2da1)
- Merge branch 'factory/serve-injected-head-898f' (b34c5e6)
- Read many hidden tip commits' headers in one batch (13ab319)
- Merge branch 'factory/bundle-unbundle-prereqs' (436ac74)
- Fixes #2506: accept receive-pack pushes into a custom object primary (04a702a)
- Fix #2469: interruptible clone HTTP and low-speed stalls (30bb4d5)
- Merge branch 'factory/single-writer-gate-2500' (f207589)
- Fixes #2505: read HEAD and ref tips from injected RefStore in serve (e9a7240)
- Reject ignorecase D/F collisions on nested ref paths (fc4e1d6)
- Fix loose-ref casefold check scanning every ref on create (560cea2)
- Merge branch 'factory/fix-json-filter-memory-2409' (5dd76f7)
- Test: connect prerequisite ref via grit ref store (2feaa09)
- Test: connect prerequisite ref before incremental unbundle (18adbc3)
- Fix bundle unbundle missing-prerequisite diagnostics (204970a)
- Fix #2504: resolve symbolic HEAD for reference-transaction log-only lines (10c36b9)
- Merge branch 'factory/ci-green-public-api-6753' (a32db43)
- Review: lazy ref_lock_wait, public-api snapshot, docs and tests (2acd602)
- Fixes #2500: FIFO SingleWriterGate and RefStore::prepare_for (0094f44)
- Fixes #2409: keep direct serde→jaq --filter path (17b21e0)
- Merge branch 'factory/fix-2499-case-rename-untracked-8f83' (f9f397f)
- Refresh grit-lib public-api snapshot for ConnectOptions::with_protocol_version (bde254d)
- Merge branch 'factory/fix-2497-head-update-reflog' (39278ce)
- Merge branch 'factory/pack-tls-drop-e9e3' (9fd677c)
- Merge branch 'factory/merge-reflog-atomic-6738' (c9019d6)
- Update grit-lib public-api snapshot after rebase onto main (4278453)
- Fix worktree guard false untracked hits on case-only renames (781679a)
- Fixes #2501: buffer grit diff human output on pipes (a3f0fa3)
- Fixes #2495: release pack TLS mappings when PackStore drops (eccbb95)
- Fixes #2503: atomically update branch and reflog on merge (c21daa5)
- Fixes #2497: independent HEAD vs branch reflog when peeling HEAD (59a0191)
- Fixes #2497: update public-api snapshot for new ref handle methods (243b63a)
- Fixes #2497: follow HEAD symrefs and write reflogs from References::update (eaeeb19)
- Fix #2444: add ConnectOptions::with_protocol_version for full-tests (285dbe5)
- Remove the unused RpcChannel transport trait (6083ca2)
- Remove reftable free functions that only wrap RefStore (1c2d730)
- Merge branch 'factory/ci-green-6700' (a46e45a)
- Merge branch 'factory/log-line-totals' (22553ea)
- Fix missing rebase_run_request import in history rebase CLI (67b7ad8)
- docs: record where branch --merged spends its time against git (85f9bca)
- Regenerate the hot-text layout for the current tree (cfbbc87)
- Merge branch 'factory/public-api-snapshot-6698' (c83675c)
- Merge branch 'factory/api-rustdoc-clarity-2494' (6057055)
- Refresh grit-lib public-api snapshot for fork-point API ordering (06f695e)
- log: take per-commit diffs and line counts from grit-lib (1f7ff23)
- diff: add Diff::commit_line_totals for per-commit first-parent line counts (80398d7)
- Preserve pre-existing bundle file on create cancel (393571f)
- Address review: rebase exec signals, clean exit 130, bundle create cancel (9e7e838)
- Fix interrupt handling for worktree add, rebase, and history (cbcd69b)
- Merge branch 'factory/typed-config-errors' (2e117b0)
- Merge branch 'factory/fork-point-pull-6662' (f801928)
- Merge branch 'factory/push-memory-2493' (0956b6e)
- Refresh grit-lib public-api snapshot after stash and transport API changes (46dadaf)
- Fixes #2494: clarify grit-lib public rustdoc and API cross-links (645d382)
- Merge branch 'factory/push-interrupt-cleanup-2492' (3a92e70)
- Document typed config and submodule errors in the config guide (e276c90)
- Replace stringly ConfigError::Other with typed config and submodule errors (2917c5b)
- Merge branch 'factory/switch-branch-lean' (2d6fca4)
- Apply rustfmt to merge_base_git_compat test (edc10cb)
- Test: two merge bases oracle for try_reflog_fork_point (918919e)
- Address review: null reflog OIDs, test attrs, full merge bases (79d13ea)
- Fix pull/rebase fork-point after force-push (8681239)
- Fixes #2493: bound local push pack memory (c96b66c)
- Merge branch 'factory/clone-ignorecase-refs-2490' (9a42a35)
- Reorder integration test modules for rustfmt (aa6b49e)
- Install InterruptCancel only for receive-pack (2928641)
- Fixes #2492: cancel push on signals and prune stale quarantine (e8ded92)
- Merge branch 'factory/fix-empty-commit-graph-2487' (c9d7c58)
- Merge branch 'factory/merge-check-favor-2491' (ca3b168)
- Scope ignorecase case-pair packed refs to clone only (b16ea7c)
- Fix clone/fetch on ignorecase when remote refs differ only by case (f02d6b4)
- Merge branch 'factory/stash-drop-oid-6660' (2ad9f91)
- Merge branch 'factory/public-api-6669' (da7c6d5)
- Document the small-switch hot-text layout with dist benchmarks (4e8e0d6)
- Regenerate the hot-text layout with the small-switch profile (c2873cf)
- Profile small switches and search the hot-text order (5d7f29b)
- Fix empty-repo commit-graph gc and fsck mismatch (dcc7d24)
- Merge branch 'factory/ignorecase-wholesale-delete-6655' (060ed70)
- Fix stash drop oid output and apply by commit id (0a3db52)
- Fix merge --check to honor -X ours|theirs (b236f49)
- Refresh grit-lib public-api snapshot for diff stat and transport API (086a503)
- Fixes #2485: O(1) ignorecase lookup for wholesale directory deletes (fe0522a)
- Merge branch 'factory/http-fetch-cancel-lifetime-6617' (1b465a8)
- Merge branch 'factory/fix-2484-eof-merge' (39377cc)
- Merge branch 'factory/clone-missing-local-d665' (e21d02e)
- Merge branch 'factory/public-api-6646' (47c3e68)
- HTTP cancel: scoped owner borrow and drop 1s header cap (ad9fbc8)
- HTTP cancel: replace stack fat pointer with scoped owner guard (c903f33)
- Integrate HTTP fetch cancel and stall interrupt fix (6536) (a241656)
- Merge branch 'factory/describe-kahn-6625' (198b579)
- Merge branch 'factory/rename-delete-merge-2483' (46b3f3f)
- Fix clone when local source path is missing (Fixes #2480) (949338c)
- Merge branch 'factory/fix-symlink-gitlink-warn-2482' (007f467)
- Fix HTTP fetch/clone hang on stalled servers (Fixes #2469) (3a760f7)
- CI: refresh grit-lib public-api snapshot for diff stat sizes (b176f90)
- Add describe diamond regressions for merge tag peels (32a52c2)
- Fixes #2484: stop false EOF merge conflicts when anchor is a real boundary (66a954e)
- Fixes #2483: conflict on theirs rename vs ours delete (4fa1fd6)
- Fixes #2482: do not treat symlink paths as nested repositories (e248d6f)
- Move test-only helpers into their test modules (4470e0f)
- Remove grit-lib public functions that nothing calls (39c89f2)
- Merge branch 'factory/describe-perf-6590' (e64aa63)
- revwalk: fast exact RevWalk::describe without commit-graph (24ec802)
- Fix no-index binary stat sizes and regenerate JSON schemas (e1e84df)
- Update grit-lib public API snapshot for SideBytes and diff stat sizes (8d20de0)
- Fix diff --stat binary byte sizes (Fixes #2339) (9a70037)
- Merge branch 'factory/rustdoc-abbrev-link' (c4dba28)
- Merge branch 'factory/commit-dry-run-speed' (9f52af6)
- docs: record the commit preview speedup and its daily rows (bb9edfc)
- commit: list non-UTF-8 paths in a preview in stored form (710f8da)
- add: decode stored paths when staging tracked worktree changes (aba4fee)
- commit: preview without probing the object store per index entry (e0aa6b0)
- Fix rustdoc intra-doc links for workspace -D warnings (524bddb)
- Read boolean config through ConfigSet::bool_or and the core accessors (3d65fce)
- config: add ConfigSet::bool_or and core boolean accessors (1608f57)
- status: use GitButlerWorkspace::standing for the workspace view (e192feb)
- gitbutler: add GitButlerWorkspace::standing (fca703b)
- revwalk: one backward walk for describe instead of per-tag counts (856d98f)
- Merge branch 'factory/public-api-6587' (fff21b2)
- Refresh grit-lib public API snapshot for core.abbrev helper (33ed55e)
- Fixes #2412: honour cancel while commit hooks run (afef105)
- Merge branch 'factory/rebase-cancel-rollback-6565' (765230d)
- Fix slow rebase apply cancel rollback (Fixes #2475) (a963e6e)
- Merge branch 'factory/fix-display-oid-abbrev' (3ed1a2b)
- Merge branch 'factory/graceful-serve-shutdown' (71fddd3)
- Merge branch 'factory/alternate-read-perf-6541' (b463023)
- Merge branch 'factory/public-api-6573' (d81dac5)
- Address review: canonical commit API and batched Markdown abbrevs (eaabe72)
- Fix display oid abbrev to follow core.abbrev and extend on collision (bdce026)
- Fixes #2478: graceful shutdown for grit serve (3bed7d1)
- Keep reprepare on empty-primary miss after pack warmup shortcut (96b39af)
- Fix alternate ODB reads thrashing pack TLS and empty-primary probes (e0439fa)
- Refresh grit-lib public API snapshot for ref-store changes (f2c3924)
- Fix reftable stack cache deadlock on missing table (1f83c3b)
- Merge branch 'factory/non-utf8-untracked-6537' (d4395a8)
- Merge branch 'factory/replace-refs-revwalk-2473' (13c3625)
- Merge branch 'factory/update-instead-receive-pack' (a6e5a8d)
- Merge branch 'factory/serde-models-2474' (21b00c5)
- Expand pathhex directory markers when staging collapsed untracked dirs (0cc7167)
- Fix collapsed untracked directory markers for non-UTF-8 dir names (24d9443)
- Fixes #2464: preserve non-UTF-8 bytes in untracked scan and commit dry-run paths (c9913fe)
- serde-models: Serialize blame, describe, tag, and worktree results (5a282c9)
- Merge branch 'factory/rerere-porcelain-6533' (e645ac6)
- Apply rustfmt after rebase onto main (409744f)
- Load replace refs from ref store including packed-refs and reftable (cbb975a)
- Honor refs/replace in revwalk, navigation, log, diff, and blame (c240cf9)
- cargo fmt: receive_pack_update_instead_untracked test (bfdcca2)
- Refuse updateInstead deploy when untracked paths would be overwritten (382cea3)
- Fix receive.denyCurrentBranch=updateInstead push-to-checkout deploy (8eba488)
- Merge branch 'factory/fix-reset-hard-cancel-rollback-6523' (8266448)
- Merge branch 'factory/skip-worktree-2466' (d9cca2c)
- Fixes #2468: squash rerere postimage and completion rerere CLI output (86ba38f)
- Fixes #2468: wire rerere into merge, pick, rebase, and commit (a505049)
- Merge branch 'factory/case-insensitive-ref-create' (9565a23)
- Merge branch 'factory/shallow-push-2463' (f97e90d)
- Merge branch 'factory/json-filter-memory' (4b09e37)
- Fix hard reset cancel rollback for coalesced directory deletes (322e5b4)
- Fix cross-tree skip-worktree reset edge cases (02b58e8)
- Fix skip-worktree handling in restore, stash, and reset (f296a88)
- Fix receive-pack ignorecase ref collisions (Fixes #2471) (5b36a8f)
- Fix shallow clone push when remote lacks ancestry (c974aae)
- fix: set upstream when grit switch -c starts from a remote branch (e4a44da)
- Fixes #2409: cut --json --filter memory via direct jaq Val build (26b35f1)
- Fixes #2461: describe uses ranked one-pass walk with commit-graph (28d2f77)
Full Changelog: v0.5.28...v0.5.29