github gitbutlerapp/grit v0.3.0
grit v0.3.0

latest releases: v0.5.28, v0.5.27, v0.5.26...
5 months ago

grit v0.3.0

A massive correctness release: 845 commits since v0.2.1, driving compatibility with upstream Git's test suite from 53.6% to 93.4% of subtests passing.

Git test-suite compatibility

v0.2.1 v0.3.0
Subtests passing 22,417 / 41,831 (53.6%) 39,430 / 42,220 (93.4%)
Fully passing test files 437 1,150 / 1,372

Highlights

Rebase (t34xx) — completed the rebase mega-family: --skip, merge backend, --update-refs (including worktree handling), quiet mode, malformed-todo handling, and abort/continue flows.

Diff & log (t4xxx) — true combined diffs (-c/--cc with @@@ hunks), --combined-all-paths with per-parent rename detection, word diff (--word-diff, POSIX word regexes), whitespace error highlighting (--ws-error-highlight), rename detection fixes (--no-abbrev raw format, same-path exact-rename suppression), diff-files unmerged-stage diffs and diffstat Unmerged lines, diff-tree --root --check, and reading .gitattributes from the index in bare/worktree-less repos.

Merge (t6xxx) — recursive-merge corner cases: rename/rename (1→2) content merges, directory/file conflicts (virtual D/F bases, relocated rename destinations, symmetric conflicts), nested virtual merge-base conflict preservation, criss-cross submodule conflicts, and fork-point cherry-pick filtering.

Plumbing & porcelain — ls-files --format placeholders, -k (killed), and submodule-aware -m; update-index --chmod no longer touches the worktree; apply -b, --ignore-space-at-eol, --ignore-cr-at-eol; add -p now honors -U/--inter-hunk-context/diff.context, renders additions like Git, and reports "Only binary files changed."; explicit divergent-pull exit codes; partial directory-pathspec deletes.

Other

  • New root Makefile wrapping cargo and test-harness workflows
  • Hundreds of additional fixes across revision walking (t1xxx), transport/pack (t5xxx), submodules (t7xxx), blame/annotate (t8xxx), and fast-import/export (t9xxx)

Full changelog: schacon/grit@v0.2.1...v0.3.0

What's Changed

Full Changelog: schacon/grit@v0.2.1...v0.3.0

Don't miss a new grit release

NewReleases is sending notifications on new releases.