grit://cooking — live report from the grit maintenance factory · #05 oct-2026 live · refreshed 0s agogrit-scm.comgitbutlerapp/grit[ maintainer login ]
┤ board ├0 queued · 11 cooking · 8 tasting
cooking (11)
›Fix #2329: Windows: switch to case-colliding paths warns nothing; grit status is clean but grit diff and git show A.txt modified85%27s
›Fix #2328: grit add rewrites blobs already in a pack as loose objects again (#2190 closed): 5k files 10.9 s vs git 0.15 s95%27s
›Fix #2321: rebase says 'Already up to date' and replays nothing when HEAD is only --no-ff merges of topics (regression vs 0.5.24)100%1m
›Main keeper: make CI on main green (test)100%1m
›Fix #2332: grit-lib API hygiene: hidden pub fields, Vec-only walks, 14 Windows warnings, destructive symlink restore—2m
›Fix #2327: Blobless clone: diff lazy-fetch batching collapses above ~1000 missing blobs (+318 packs, 4.6 s vs git 0.65 s)75%2m
›Fix #2333: grit switch deleting many files is quadratic: 150k deletions 69 s (git 2.7 s); linux master->v4.9 180 s+ (git 7 s)10%9m
›Dogfood on linux-cloud: Large-monorepo engineer55%10m
›Fix #2331: grit-lib: no snapshot/restore API for undo logs; stash create fails mid-merge, apply_commit rejects identical untracked15%15m
›Fix #2330: Cancelling a 22.5k-file checkout (integrate_branch) returns after 9-12 s: rollback is ~3x slower than finishing (2.9 s)—25m
›Daily benchmarks 2026-10-28? waiting on the maintainer14h
tasting (8)
◦Fix #2316: grit log has no way to follow a file across renames (no --follow); history of a renamed file stops at the rename4m
◦Fix #2278: Remote::fetch from a local/file:// remote reports no progress for 70% of the run, then one set() for the whole copy5m
◦Fix #2326: plain grit fetch exits 1 on every run after a teammate moves a tag; message says 'did not move', no --force to accept9m
◦Fix #2311: grit reset --hard / merge --abort rewriting 30-60k files is 2.8-3.3x slower than git (and 5x slower than grit switch)16m
⚿ 4 security fixes
waiting on the maintainer · 6h–1d
details withheld until released
┤ main ├last 7 days on main · utc · today on the right
commits1,216
F
S
S
M
T
W
T
lines+780k −73k
F
S
S
M
T
W
T
issues409 opened · 358 closed
F
S
S
M
T
W
T
┤ agents ├htop
composer-2.5[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 37.0%]
gpt-5.6-sol[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 35.1%]
claude-opus-5-5[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 17.7%]
codex[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 6.6%]
claude-sonnet-5-5[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3.0%]
grok-4.7[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 0.6%]
15
running now
5,718
agents · 8,964 runs
61.2B
tokens · 184.7M out
220 days
summed agent time
1,480
landed all time
76
open issues · 632 triaged
landed / day · last 7 days657
F
S
S
M
T
W
T
┤ activity ├runs started / hour · last 7d utc · max 77
└oct 23└oct 24└oct 25└oct 26└oct 27└oct 28└oct 29
┤ dogfood ├wave 21 · started 1h ago · next in 4h
Sessions:84 in 7d, 1 in flight
Commands:3,653 timed vs git: 458 broken, 932 slow or heavy
Scenarios:254/607 passed end to end
Bugs:374 filed; 446/491 re-checked fixes held
$ ps · in flight
›linux-cloud: Large-monorepo engineer██████░░░░ running 10m ago
┤ bugs ├72 open (68 being fixed) · 538 fixed
$ gh issue list --label factory:dogfood
#2335○Cone sparse-index repo: grit status 40x slower than git, diff 700x, and grit status re-expands git's sparse indexperf#2334○grit commit on a split-index repo writes a new 29 MB sharedindex per commit (git writes none), 2.7x slower than gitperf#2333◐grit switch deleting many files is quadratic: 150k deletions 69 s (git 2.7 s); linux master->v4.9 180 s+ (git 7 s)perf#2332◐grit-lib API hygiene: hidden pub fields, Vec-only walks, 14 Windows warnings, destructive symlink restorebug#2331◐grit-lib: no snapshot/restore API for undo logs; stash create fails mid-merge, apply_commit rejects identical untrackedfeature#2330◐Cancelling a 22.5k-file checkout (integrate_branch) returns after 9-12 s: rollback is ~3x slower than finishing (2.9 s)perf#2329◐Windows: switch to case-colliding paths warns nothing; grit status is clean but grit diff and git show A.txt modifiedbug#2328◐grit add rewrites blobs already in a pack as loose objects again (#2190 closed): 5k files 10.9 s vs git 0.15 sbug#2327◐Blobless clone: diff lazy-fetch batching collapses above ~1000 missing blobs (+318 packs, 4.6 s vs git 0.65 s)perf#2326◐plain grit fetch exits 1 on every run after a teammate moves a tag; message says 'did not move', no --force to acceptbug#2325✓blame_file(&repo, path) resolves path against the process cwd: repo-relative path fails when cwd is inside a subdirbug#2324✓grit log --merges/--no-merges/--first-parent -n 20 walks all history: 0.7 s on git/git (git: 2 ms)perf#2323✓Objects::write_tree accepts missing or wrong-kind objects (040000 -> blob) that write_commit and git mktree rejectbug#2322✓Legacy tree mode 100664: grit status/diff show phantom change, clone writes non-canonical index mode git rejectsbug#2321◐rebase says 'Already up to date' and replays nothing when HEAD is only --no-ff merges of topics (regression vs 0.5.24)bug#2320✓Commit/tag object with no blank line or message is 'corrupt' in grit (git accepts): log, revs, clone, gc, push failbug
○ open · ◐ fix in progress · ✓ fixed · – closed without a fix
┤ log ├reviewed + approved
$ git log --oneline main
c8ac4e51Reject NTFS backslash .gitmodules symlink spellings in write_tree31m
d71076a2Fixes #2323: validate write_tree entry oids and kinds58m
756e5f4fMerge branch 'factory/legacy-tree-mode-5712'16m
8fc9c750Merge branch 'factory/blame-repo-relpath-5719'22m
b2235098Canonicalize legacy modes in tree-to-worktree diff and hard reset38m
a357ae3fFix legacy tree modes canonicalizing in index and diffs55m
c75b8333Merge branch 'factory/checkout-chunk-perf-5705'25m
aeeb450cfix: make blame_file paths repository-relative46m
0dcafd96Merge branch 'factory/lenient-commit-tag-message-5709'30m
4dcea82eMerge branch 'factory/commit-dry-run-mode-5698'32m
65a8d92aMerge branch 'factory/ci-partial-clone-pack-fix-6476'32m
95d7d3f7Fixes #2319: finalize wide tree checkout once per diff56m
$ ls changelog/
2026-10-28grit v0.5.24108 changes · 281 commits2026-10-27grit v0.5.2379 changes · 308 commits2026-10-26grit v0.5.2271 changes · 172 commits2026-10-26grit v0.5.2186 changes · 304 commits2026-10-25grit v0.5.2072 changes · 217 commits2026-10-24grit v0.5.1949 changes · 159 commits2026-10-23grit v0.5.1883 changes · 283 commits2026-10-22grit v0.5.1791 changes · 297 commits2026-10-21grit v0.5.1686 changes · 290 commits2026-10-20grit v0.5.1559 changes · 183 commits
┤ grit-bench ├measured 1d ago · full breakdown →
# Linux · Intel Xeon · 4 cores · git 2.43.0 · grit 8dbc58e · median wall · a full bar is 3.7×
cmdgitgrit← fasterslower →grit / git
status-clean@synth-10k6.7 ms7.6 ms1.1× slower
status-dirty@synth-10k10 ms7.9 ms1.3× faster
add@synth-10k16 ms11 ms1.5× faster
commit@synth-10k26 ms18 ms1.5× faster
diff@synth-10k6.4 ms6.4 mspar
log/json-100@git-git3.1 ms4.6 ms1.5× slower
log/oneline-100@git-git3.1 ms4.3 ms1.4× slower
show@git-git1.9 ms2.8 ms1.5× slower
blame@git-git289 ms245 ms1.2× faster
switch@synth-10k21 ms16 ms1.3× faster
branch/list-json@many-refs1.5 ms2.3 ms1.6× slower
branch/list@many-refs1.3 ms2.1 ms1.6× slower
branch/merged@many-refs1.3 ms2.3 ms1.8× slower
merge@synth-10k98 ms56 ms1.7× faster
pick@synth-10k111 ms56 ms2.0× faster
stash@synth-10k193 ms125 ms1.5× faster
fetch@git-git110 ms46 ms2.4× faster
pull@git-git123 ms51 ms2.4× faster
pull@synth-10k71 ms19 ms3.7× faster
push/force-with-lease@git-git2.15 s1.13 s1.9× faster
push/incremental@git-git2.15 s1.46 s1.5× faster
clone@synth-10k955 ms929 mspar
cmdgitgrit← fasterslower →×
status-clean@synth-10k6.7 ms7.6 ms1.1×
status-dirty@synth-10k10 ms7.9 ms1.3×
add@synth-10k16 ms11 ms1.5×
commit@synth-10k26 ms18 ms1.5×
diff@synth-10k6.4 ms6.4 mspar
log/json-100@git-git3.1 ms4.6 ms1.5×
log/oneline-100@git-git3.1 ms4.3 ms1.4×
show@git-git1.9 ms2.8 ms1.5×
blame@git-git289 ms245 ms1.2×
switch@synth-10k21 ms16 ms1.3×
cmdgitgrit← fasterslower →×
branch/list@many-refs1.3 ms2.1 ms1.6×
branch/merged@many-refs1.3 ms2.3 ms1.8×
merge@synth-10k98 ms56 ms1.7×
pick@synth-10k111 ms56 ms2.0×
stash@synth-10k193 ms125 ms1.5×
fetch@git-git110 ms46 ms2.4×
pull@git-git123 ms51 ms2.4×
pull@synth-10k71 ms19 ms3.7×
push/incremental@git-git2.15 s1.46 s1.5×
clone@synth-10k955 ms929 mspar
cmdgitgrit← fasterslower →×
status-clean@synth-10k6.7 ms7.6 ms1.1×
status-dirty@synth-10k10 ms7.9 ms1.3×
add@synth-10k16 ms11 ms1.5×
commit@synth-10k26 ms18 ms1.5×
diff@synth-10k6.4 ms6.4 mspar
log/json-100@git-git3.1 ms4.6 ms1.5×
log/oneline-100@git-git3.1 ms4.3 ms1.4×
show@git-git1.9 ms2.8 ms1.5×
cmdgitgrit← fasterslower →×
blame@git-git289 ms245 ms1.2×
switch@synth-10k21 ms16 ms1.3×
branch/list@many-refs1.3 ms2.1 ms1.6×
branch/merged@many-refs1.3 ms2.3 ms1.8×
merge@synth-10k98 ms56 ms1.7×
pick@synth-10k111 ms56 ms2.0×
stash@synth-10k193 ms125 ms1.5×
cmdgitgrit← fasterslower →×
fetch@git-git110 ms46 ms2.4×
pull@git-git123 ms51 ms2.4×
pull@synth-10k71 ms19 ms3.7×
push/incremental@git-git2.15 s1.46 s1.5×
clone@synth-10k955 ms929 mspar

# a fast, linkable git library in rust + a modern git client — agents maintain, a human steers. changes land on main only after maintainer approval.

0–6 pane · b benchmarks · t light/darkpowered by cursor cloud agents