v0.6.0
To install or update git-branchless
, run the following:
$ cargo install --locked git-branchless
$ git branchless init # in your repository
If you were using a remote main branch, you will have to switch to a local main branch, as remote main branches are no longer supported; see below.
If you haven't already taken the user survey, please consider doing so!
Release highlights
- Changes to branching:
- We now use "switch" instead of "checkout" as the terminology, and the alias
git sw
is installed by default instead ofgit co
. Thanks to @mlcui-google for fixing a bug in this! - Remote main branches are no longer supported.
- Branches will be automatically checked out when switched to. Thanks to @bcspragu for implementing this!
- We now use "switch" instead of "checkout" as the terminology, and the alias
- More customizable smartlogs:
- You can now render different views of the smartlog, possibly omitting commits and branches at your discretion. Thanks to @claytonrcarter for implementing this!
- Merge commits are also rendered slightly better.
git test
:- Lets you run a given command or check on each commit in your stack.
- You can leave feedback about the UI or workflow in the discussion board or Discord chat.
- Documentation at Command: git test.
Changelog
Added
- (#576) EXPERIMENTAL: Created
git test
command to run a command on each commit in your stack. - (#589, #593)
git sync --pull
rebases the local main branch on top of the remote main branch. - (#619)
git smartlog
now renders revsets with non-contiguous commits. - (#638)
git smartlog
now deduplicates merge commits which appear in the smartlog.
Changed
- (#526) BREAKING: When checking out a commit with a single branch attached to it, that branch will also be checked out.
- (#589) BREAKING: Remote main branches are no longer supported. To upgrade you'll need to create a local main branch which tracks the remote main branch. You can use
git sync
to keep it up-to-date. - (#571) Added
current(<revset>)
revset function to determine the latest versions of a set of rewritten commits. - (#582) Added
main()
,public()
revset functions. - (#593, #608)
git sync
produces more descriptive output.
Fixed
- (#588)
git branchless init
now works when invoked in a worktree. - (#589)
git reword --force-rewrite
no longer moves remote-tracking branches. - (#589)
git smartlog
no longer uses 100% CPU in certain cases with remote main branches (because remote main branches are no longer supported).
New Contributors
Thanks to the following first-time contributors!
- @bcspragu made their first contribution in #526
- @mlcui-google made their first contribution in #626
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.