Releases: abhinav/git-spice
Releases · abhinav/git-spice
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
--fixup
flag to create fixup commits. You can usegit rebase --interactive
orgs branch edit
to combine these fixup commits into their targets. - rebase continue: Add
--[no-]edit
flag to specify whether an editor should open to change the commit message. Defaults to the value of thespice.rebaseContinue.edit
configuration option if set, or true if not. - Add
--no-verify
flag 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-only
flag 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
-n
form 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.web
configuration option to allow making this the default. - submit: Add
spice.submit.listTemplatesTimeout
configuration 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.
v0.7.0
This release contains significant changes to internal state management to prevent corruption.
If you run into any issues, please report them here.
Changed
- branch delete: Accept multiple branches for deletion.
- Branch selection widget is now smarter about prioritizing fuzzy matches.
Fixed
- branch create: Prevent creation of tracked branches with untracked bases as this leaves the storage in a corrupted state.
- repo init: Don't leave dangling branch references when trunk is changed.
- branch create: Don't commit staged changes if git-spice is unable to save the branch to its internal storage.
- branch onto: Don't rebase the branch if changing its base would corrupt the data store.
- github: Recognize remote URLs in the form
ssh://[email protected]:443/org/repo
. - repo sync: Fix case when many branches from the same stack are merged, and order of deletion causes a restacking error or conflict.
- repo sync: Reduce the number of redundant operations performed when processing multiple merged branches.
v0.6.0
Added
- Windows support.
Changed
- submit: If a CR for a branch is closed or merged, and the branch is submitted again, git-spice will now create a new CR for that branch instead of failing to update the existing CR.
- repo sync: Reduce the number of network requests made to check status of submitted branches.
- repo sync: Gracefully degrade for unsupported Git hosting services by looking for merged branches locally instead of attempting to make API requests and failing. This only works for merge commits and fast-forwards, but it makes it easier to use git-spice with non-GitHub remotes.
Fixed
- branch submit: Present template list in consistent order.
- branch create: Fix bug where aborting a commit would leave the repository in a detached HEAD state.
- repo sync: Don't warn about missing remote tracking branch if it was already deleted by a 'git fetch --prune' or similar operation.
- repo sync: Delete the correct tracking branch for renamed branches.
v0.5.2
Fixed
- submit: Fix outdated PR template being used when trunk is behind its remote ref.
- github: Fix outdated PR templates being used when templates used lower-cased file names.
v0.5.1
Fixed
- Support use with older Git versions by dropping use of a v2.33-only flag.
v0.5.0
Added
- submit: Add
spice.submit.publish
configuration to allow making--no-publish
the default. Use this to work with unsupported Git hosting services. - branch checkout: Add
spice.branchCheckout.showUntracked
configuration to always show untracked branches in checkout prompt. - branch create: Add
--[no-]commit
flag and accompanyingspice.branchCreate.commit
configuration to create stacked branches without committing changes. - submit: When importing existing CRs, also detect existing stack navigation comments and update them instead of posting duplicates. This will only work for comments posted git-spice v0.5 or newer.
Fixed
- submit: When submitting with
--no-publish
, don't fail if the repository is hosted in an unsupported Git hosting services. - {branch, upstack} onto: Always rebase commits after the operation--even if the branch's base already matches the target. This better matches user expectations when the branch and base diverge.