Releases: abhinav/git-spice
Releases · abhinav/git-spice
v0.14.1
Fixed
- Fix panic when using shell tab completion for a branch name.
v0.14.0
Added
- branch checkout: Add 'spice.branchCheckout.trackUntrackedPrompt' configuration option to disable prompting to track untracked branches upon checkout.
- branch create: Add 'spice.branchCreate.prefix' configuration option to always add a configured prefix to new branches.
- Add more debug-level logging across the application to help diagnose issues.
- Support CTRL+j/k to navigate selection UIs that accept text input like branch selection.
Changed
- Log output is now styled differently for better readability.
Fixed
- branch split: Fix debug logs interrupting the branch name prompt.
- branch track: Fix incorrectly reporting an error when a branch needs to be restacked.
- If a remote branch reference (e.g. origin/feature) is deleted after pushing to it with gs, we will no longer hold onto the stale reference.
This better handles cases where the local and remote branches are both intended to be renamed.
v0.13.0
Added
- log: Add
spice.log.crFormat = ("id" | "url")configuration to change how CRs are listed in the log output. The default is "id". - GitLab: Allow changing the API URL with the
spice.forge.gitlab.apiUrlconfiguration option or theGITLAB_API_URLenvironment variable. - log: Add
spice.log.pushStatusFormat = (true | false | aheadBehind)to show whether a branch is out-of-sync with its remote, and optionally, by how many commits. Defaults totrue. - repo sync: Update the trunk branch even if it's checked out in another worktree.
- commit {create, amend}: Add --allow-empty flag to allow commits without any changes.
Changed
- log: Fetch branch information in parallel to speed up the operation.
v0.12.0
Added
- Add 'version' command as alternative to '--version' flag.
Fixed
- gitlab: Fix rejection of
GITLAB_TOKENenvironment variable for authentication.
v0.11.0
Added
- Add 'branch squash' command to squash commits in a branch into a single commit and restack upstack branches.
- Add 'spice.branchPrompt.sort' configuration option to control the sort order of branches in the branch selection prompt used by 'branch checkout', 'branch onto', 'branch delete', and others.
- branch rename: Provide shell completions for the current branch.
Changed
- Homebrew tap: Install shell completions.
- upstack onto: When prompting for a new base, do not allow selecting branches that are being moved as the operation will always be rejected to keep the graph acyclic.
Fixed
- branch onto: Fix infinite rebase conflict handling loop that occurred when a branch is moved onto another branch that is upstack from the original base, and the operation encounters a rebase conflict.
- Fix debug logs using incorrect prefix for Git command output logs.
v0.10.0
This release addresses a long-standing limitation of navigation comments: they were limited only to open CRs.
Thanks to @VenelinMartinov, git-spice will now retain history of merged downstack CRs when posting navigation comments.
Added
- commit create: Add
--fixupflag to create fixup commits. You can usegit rebase --interactiveorgs branch editto combine these fixup commits into their targets. - rebase continue: Add
--[no-]editflag to specify whether an editor should open to change the commit message. Defaults to the value of thespice.rebaseContinue.editconfiguration option if set, or true if not. - Add
--no-verifyflag to bypass pre-commit and commit-msg Git hooks for commands that create new commits. This includes 'commit create', 'commit amend', 'commit split', and 'branch create'. - state: Track version of the state store layout in use. This should be a no-op for users, but it protects against future changes to the layout.
- submit: Add
--update-onlyflag to update open CRs but not create new ones. Branches that would create new CRs are ignored.
Changed
- submit: Include merged downstack changes in navigation comments when restacking and resubmitting changes based on them.
- commit amend: Deprecate
-nform of--no-edit. This will be deleted in a future version. - branch delete: If multiple branches are provided, delete them in a more predictable order.
Fixed
- Reduce repeated work between git-spice commands that invoke each other.
v0.9.0
This release adds support for using git-spice with GitLab.
This works for both, gitlab.com and Self-Hosted GitLab instances.
Thanks to @gr4cza for implementing GitLab support.
Added
- Add support for GitLab forge.
- repo sync: Add a --restack flag to automatically restack the current stack after syncing.
v0.8.1
Fixed
- Shell completion: Don't use an incorrect command name if the binary is renamed.
v0.8.0
Added
- {trunk, branch checkout}: Add -n/--dry-run flag to print the target branch.
- {up, down, top, bottom, branch checkout}: Add --detach flag to detach HEAD after checking out the target branch.
- submit: Add -w/--web flag to open a browser with the submitted CR, and a
spice.submit.webconfiguration option to allow making this the default. - submit: Add
spice.submit.listTemplatesTimeoutconfiguration option to change the timeout for template lookup operations.
Changed
- GitHub: API errors will now include error codes to more easily root-cause issues.
- branch split: If the branch being split has been submitted, prompt to associate the CR with one of the branches.
- submit: If a branch has already been pushed to the remote repository with
git push -u, use that branch name when creating a CR. - submit: If a branch name is already taken in the remote, generate a unique name for the remote branch that is used to submit the CR.
- submit: When matching externally submitted CRs to a branch, reject matches where the names are equal but their HEADs are not.
- submit: If CR template lookup from the forge times out, present the outdated templates to the user instead of presenting none.
Fixed
- submit: Fix incorrect branch name used when a base branch of a submitted branch is renamed.
v0.7.1
Fixed
- branch submit: Fix bad log statement in --dry-run mode.
- branch submit: Fix bug when importing externally created PRs, where the first comment in the PR would be hijacked as the navigation comment.