To install or update git-branchless, run the following:
$ cargo install --locked git-branchless
$ git branchless init # in your repositoryRelease highlights
This release includes a number of new features and changes; including:
- Rust v1.86 or later is required to build.
- A new
git splitcommand was introduced. - Revsets gained a new
!operator, as well some performance improvements. recordandamendcan now detect and add new, untracked files.recordgained several new options, and a breaking change to another; see below.smartlogreceived rendering updates, a new setting, and a deprecation; see below.
For full details on the numerous other features, changes and fixes, see below.
Additionally, this is the first release managed by @claytonrcarter. If something seems amiss or is not packaged correctly, please mention it in discussion, or open an issue.
Added
- (#1461): added
!revset postfix operator as shortcut for "only child" - (#1464): created
git splitcommand to extract changes from a commit - (#1603): added
git move --dry-runto test in-memory rebases - (#1604):
git recordandgit amendcan now automatically detect and begin tracking new files (optional, disabled by default) - (#1612): added
git record --newto create new, empty commits - (#1631): the
--reparentflag, previously only available togit amend, is now available togit move,git restack,git split,git syncandgit test - (#1632): added
git record --fixupoption, to create a fixup commit (similar toreword --fixup)
Changed
- (#1270):
git smartlognow renders with curved corners - (#1271):
git smartlogrenders commit nodes more consistently with other nodes - (#1315):
git smartlognow reads thebranchless.smartlog.reverseconfig setting (the--reverseoption has been deprecated) - (#1462) BREAKING:
git recordwill use a default commit message with--stash(instead of prompting for one) - (#1463):
git switchnow accepts a revset whose sole head will be checked out, and correctly treats-to mean last checked out commit or branch - (#1492):
scm-recordupgraded to v0.5.0. - (#1591): improved performance of some revset expressions
- (#1593) BREAKING:
The minimum supported Rust version (MSRV) is now 1.82.See #1638 below. - (#1638) BREAKING: The minimum supported Rust version (MSRV) is now 1.86, and the rust edition is now 2024.
- (#1661): add nix devshell (and other nix updates and fixes)
Fixed
- (#1439): fix panic with custom git status configuration
- (#1611): fix behavior of
git record --stashon a detached HEAD - (#1618): fix behavior of various commands when operating on branches that have the same name as files in the current directory
- (#1647): correctly describe behavior of when check out target is omitted to
git switch - (#1651): fix panic when running git-brancless commands in bare repos
- (#1659): fix snapshotting for submodules and symlinks ending in a
/
Contributors
Thanks to everyone who made this release happen! In particular, we'd like to thank our new contributors:
- @TrueDoctor made their first contribution in #1439
- @raylu made their first contribution in #1518
- @xuanduc987 made their first contribution in #1271
- @chf2117 made their first contribution in #1419
- @cjsoft made their first contribution in #1618
- @feosuna1 made their first contribution in #1651
- @e-q made their first contribution in #1315
- @bitbloxhub made their first contribution in #1660
If you're interested in contributing, check out the Developer Guide in the Wiki, or post in the Discussions or Discord server to ask any questions.
Full Changelog: v0.10.0...v0.11.0