Change Log
May 2, 2023 ยท View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
0.10.16 - 2023-05-02
Fixes
- Don't panic on
git stack --onto <sha>
0.10.15 - 2023-04-13
Internal
- Update dependency
0.10.14 - 2023-03-16
Internal
- Update dependency
0.10.13 - 2023-03-14
Fixes
- Correctly handle
CLICOLOR=1 - Correctly handle
NO_COLOR=
Performance
- Do not checkout files if the tree is unchanged
0.10.12 - 2023-02-02
Fixes
- Imitate git in editing commit messages, allowing at least
vimto recognize the filetype
0.10.11 - 2023-01-25
Fixes
- Commit and sign with committer signature
0.10.10 - 2023-01-18
Fixes
- Write to the users config, whichever location it is in
0.10.9 - 2023-01-12
Fixes
- Improve error reporting when operations like rebase are in progress
0.10.8 - 2023-01-12
Fixes
git amend <rev>no longer drops commits after<rev>
0.10.7 - 2023-01-12
Fixes
- Sign rebased commits
0.10.6 - 2023-01-11
Compatibility
git amendno-ops now fail
Features
git amend <rev>is now supported
Fixes
git amendonly reports an amend happening on successgit amendno-ops are now quietergit amendno-ops now failgit amendcan now amend fixupsgit amendwon't lose unstaged changes anymoregit amendmoves to fixup commit on failuregit runis more explicit about what it is testing and what the status was for
0.10.5 - 2023-01-10
Fixes
git amendcorrectly checks out new HEAD when amending a detached HEAD
0.10.4 - 2023-01-10
Fixes
git syncrebases to the fetched remote, not the remote at process start
0.10.3 - 2023-01-10
Fixes
git amendcan commit staged changes
0.10.2 - 2023-01-09
Features
git rewordnow takes an optional rev for rewording commits other than HEAD
Fixes
git amend -mdidn't work, now it doesgit amendcan now work on detached HEADS
0.10.1 - 2023-01-06
Features
git run --switchto checkout the commit that failedgit run --fail-fastnow exists and is the default, disable with--no-fail-fast/--no-ff
Fixes
git syncnow rebases onto the fetched branch
0.10.0 - 2023-01-05
Features
- Initial
gpgSignsupport. This is untested so ifcommit.gpgSignis causinggit-stackto fail, you can usestack.gpgSignto disable it.
0.9.0 - 2023-01-04
Features
New git stack subcommands, including
nextandprevsync(with the aim of replacinggit stack --pull)amendrewordrun
With git stack alias for creating alias for these
0.8.5 - 2022-09-06
Fixes
- Provide more information on crash/panic
0.8.4 - 2022-08-10
Fixes
- Correctly identify parent branch when a protected branch points to a commit that is a direct ancestor of another protected branch
0.8.3 - 2022-07-02
Fixes
- Foreign branches are always protected
0.8.2 - 2022-03-23
Fixes
- Find a better base for commits without a protected branch
Performance
- Split off old branches into dedicated stacks before building the commit graph, controlled by
stack.auto-base-commit-count. - Cache some git operations in-memory
0.8.1 - 2022-03-21
Fixes
- Don't fail on undetected base
Performance
- Speed up view rendering with branches on very old commits by caching git operations in-memory
0.8.0 - 2022-03-18
Compatibility
- Pull remote handling changed enough that regressions could have been introduced.
- Slight changes to how
--baseand--ontoare defaulted --pull --onto <remote>/<branch>behavior changed
Fixes
- Show remote branches when they diverge from base branch
--basedefaults to the local branch of--onto--ontodefaults to the remote branch of--base- Pull using the remote specified in
--ontorather than just the upstream
0.7.4 - 2022-03-17
Features
- Support commits and tags for
--ontoand--basearguments
0.7.3 - 2022-03-17
Features
- Support remote tracking branches for
--ontoand--basearguments
0.7.2 - 2022-03-17
Fixes
- Call
post-rewriteandreference-transactiongit hooks
0.7.1 - 2022-03-17
Fixes
- Consistent spacing between stacks
0.7.0 - 2022-03-16
Compatibility
- Commit graph implementation changed enough that regressions could have been introduced
Features
-C <path>support for changing the current directory
Fixes
- Be smarter about picking the protected branch for a given feature branch
Performance
- Speed up operations on large, complex commit histories like
gecko-dev
0.6.0 - 2022-03-01
Breaking Changes
--stack,--format,--fixupare now case sensitive- Most
--formatoptions are replaced with--format graph --show-commits ...
Features
--format listto list branches that are part of the selected stacks (--stack).
Fixes
- Be more explicit in why a push didn't happen
- Decouple showing of commits from
--format
0.5.6 - 2022-02-28
Fixes
- Respect existing upstream configured for current branch
- Respect
remote.pushDefault
0.5.5 - 2022-01-26
Fixes
- Don't panic on
--base --onto --stack all
0.5.4 - 2022-01-11
0.5.3 - 2021-11-13
Fixes
- Only prune branches when they don't exist on the server, rather than also if they have a
/
0.5.2 - 2021-11-11
Fixes
- Do not auto-protect (by age or user) HEAD
0.5.1 - 2021-11-11
Fixes
- Read
protect-commit-agefrom gitconfig
0.5.0 - 2021-11-09
Breaking Changes
Features
- New
--repairflag- Re-stacks branches on top of each other
- Tries to merge branches that have diverged
Fixes
- Stack visualization
- Made it more compact
- Change the commit glyph
- Made it more consistently linear
- Fix sorting so the longest branches are last
- Always show leaf commits
- Refined stack visualization
- Don't lose tranbhes with
--onto - Don't treat base/onto as protected branches
- Don't pull all when there is nothing to pull
- Respect
--format=commits - Preserve old commit time on
--rebase - Branch backup now includes the rebase during
--pull - Show
--pulls behavior on dry-run - Allow dirty tree on dry-run
Performance
- Reduce the amount of data we process
- Reduce stack usage when rendering
0.4.8 - 2021-10-25
Fixes
- We should only squash the fixup and not the ones before it
0.4.7 - 2021-10-23
Fixes
- Detect multi-commit branches are pushable
0.4.6 - 2021-10-22
Fixes
- Further reduce the chance for stackoverflows
0.4.5 - 2021-10-22
Fixes
- Summarize other people's branches to unclutter visualization
- Avoid summarizing a branch with HEAD
0.4.4 - 2021-10-22
Fixes
- Always prune from the push-remote, not just when configured
- Speed up fetching large push-remotes by only fetching what is needed
- Don't fetch the push-remote on dry-run
- Don't mark local edits as protected
0.4.3 - 2021-10-22
Fixes
- Color log level, regardless of min log level
0.4.2 - 2021-10-22
Fixes
- Clean up stack visualization
- Remove nesting by not showing merge-bases of protected branches
- Treat large branches as protected, abbreviating them
- Summarize empty stacks
- Summarize old branches
- Reduced or eliminated stackoverflows
0.4.1 - 2021-10-21
Fixes
- Read all values from
.gitconfig, rather than just some
0.4.0 - 2021-10-21
Breaking Changes
- Renamed config
stack.fixptostack.auto-fixupto clarify role
Fixes
- Changed
--pullto not performstack.auto-fixup - Allow
--fixupto run without--rebase
0.3.0 - 2021-10-20
Breaking Changes
- Command line argument values have changed
- Renamed
git-branch-backuptogit-branch-stash
Features
- Auto-stash support
Fixes
- Switched command line arguments to match config file
- Vendor libgit2
- Don't panic on some merge conflicts
- Correctly detect
init.defaultBranchas a protected branch - Correctly detect some more protected commit cases
- Reduce scope of dirty checks
- Some visualization improvements
- Fix some branch deletion corner cases
- Auto-delete branches from squash-merges
0.2.9 - 2021-10-07
Features
git stack --pullwill also fetch the push-remote, ensuring we show the latest status relative to it.
Fixes
- Highlight detached HEAD
- Changed branch status precedence
- Tweaked colors
- Smarter color control
0.2.8 - 2021-09-10
Fixes
- Stack View:
- Make highlights stand out more by using less color
- Highlight dev branches pointing to protected commits
- Make HEAD more obvious by listing it first
- Removed a superfluous remote status
0.2.7 - 2021-09-01
Fixes
- Stack View:
- Ensure protected commits are hidden when showing multiple protected branches
0.2.6 - 2021-09-01
Fixes
- Crash on merge of parent branch into child branch
0.2.5 - 2021-08-31
Fixes
- Don't stack unrelated branches (broken in 0.2.3)
Features
- Stack View
- List HEAD branch after all dev branches to make it easier to spot
- Highlight HEAD branch
0.2.4 - 2021-08-31
Fixes
- Resolved some more stack construction corner cases
- Stack View
- Removed some degenerate cases by prioritizing protected branches over development branches
- We elide "o" joints, where possible
- Improved legibility of debug view by grouping non-nesting fields
0.2.3 - 2021-08-30
Fixes
- Don't crash with multiple protected branches
--dump-confignow dumps ingitconfigformat- Stack View: don't duplicate commits
0.2.2 - 2021-08-27
Fixes
- Rebase
- Don't backup during dry-run
- Stack View:
- Ensure default format shows all branches
- Don't use warning-color on protected commits
- Use distinct color for commits and protected branches
- Reduce nesting in stack view in some degenerate cases
- Show on rebase+dry-run, show tree as-if rebase succeeded
0.2.1 - 2021-08-25
Fixes
- Close a quote in the undo message
0.2.0 - 2021-08-25
Features
- Undo option
- Built on new
git branch-backupcommand which is likegit stashfor branch state - atm only backs up the result of a rebase and not
--pull
- Built on new
- Stack View
- Added new
--format branch-commitsoption, now the default - Added new
--format debugoption to help with reporting issues - Abbreviate commit IDs
- Show per-branch status, separating from commit status
- Added new
- Auto-delete branches on
--pullthat were merged into a protected branch
Fixes
- Reduced conflicts during
--rebase - Load config when in a worktree
- Restore correct HEAD when multiple branches on the same commit
Breaking Chanages
- Renamed
--formatoptions:brief->branchesfull->commits