Releases: wfxr/forgit
Releases · wfxr/forgit
26.04.2
26.04.1
26.04.0
🚀 Features
- Add interactive git worktree operations
- Add missing entries for completion scripts
- Add interactive worktree add command (gwa)
- Add interactive checkout file from commit selector
🐛 Bug Fixes
- (docs) Fix typos and broken markdown in README
- Use array length instead of string length in reset_head
- Review comments
- Use git-switch native completion for switch_branch
- Use non-interactive pager in fzf preview for TUI pagers (#498)
- Handle backslashes in filenames in _forgit_worktree_changes
🚜 Refactor
- Extract branch helpers and ANSI strip utility
- Extract _forgit_print_dim helper and improve worktree ops
- Remove command specific previews from PRIVATE_COMMANDS (#501)
- Extract _forgit_git_log from _forgit_log
- Extract _forgit_git_show from _forgit_show
- Extract _forgit_worktree_changes from _forgit_add
📚 Documentation
- Add missing attributes command to README
- Improve options documentation in README
- Update sheldon version in README
- Restructure README for improved navigation
- Move pager config out of per-command table into own section
- Add docs for 'show commit message' keybinding (#492)
- Add agent repository guidelines
- Update README headers for cleaner rendering
- Add contribution guide
- Add star history chart
🎨 Styling
- (docs) Capitalize section headings in README
26.01.0
Changes since 25.12.0:
- Fix: preview for clean when file names contain backslashes (#465)
This is a breaking change: flag arguments provided to forgit clean are
now passed to git ls-files instead of git clean -n. This change is
necessary because git clean does not have a -z option that would prevent
it from escaping file names containing backslashes. However, git ls-files
is way more flexible than git clean, so all use cases covered by git
clean (and more) should still be possible. - Feature: allow configuring arguments of git ls-files in forgit clean (#481)
- Feature: add interactive git switch selector (#472)
- Feature: add empty state messages for checkout commands (#478)
Show informative messages when there is nothing to checkout:- checkout_file: "Nothing to checkout." when no modified files
- checkout_tag: "Nothing to checkout: there are no tags."
- ci: use stable bashunit version (#486)
- test: ignore global git config when running tests (#485)
- fix: forgit add shows dir view for submodules (#484)
25.12.0
Changes since 25.10.0:
- Chore(deps): Bump actions/checkout from 5 to 6
Bumps actions/checkout from 5 to 6.
updated-dependencies:- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
- dependency-name: actions/checkout
25.11.0
Changes since 25.09.0:
- Refactor: Move global code into a main function (#464)
This is a prequisite for being able to source the script in order to
implement unit tests for individual functions. - Chore: Do not execute any code when forgit is sourced (#464)
In order to run unit tests for individual functions we have to be able
to source the script without triggering the main execution flow. - Refactor: extract function to remove status from diff line (#464)
25.10.0
Changes since 25.09.0:
- Refactor: Move global code into a main function (#464)
This is a prequisite for being able to source the script in order to
implement unit tests for individual functions. - Chore: Do not execute any code when forgit is sourced (#464)
In order to run unit tests for individual functions we have to be able
to source the script without triggering the main execution flow. - Refactor: extract function to remove status from diff line (#464)
25.09.0
Changes since 25.08.0:
- Chore(deps): Bump actions/download-artifact from 4 to 5 (#462)
Bumps actions/download-artifact from 4 to 5.
updated-dependencies:- dependency-name: actions/download-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- dependency-name: actions/download-artifact
25.08.0
Changes since 25.07.0:
- Feat: allow passing arguments to git add (#452)
- Feate: allow passing arguments to git checkout file (#451)
- Feat: Use forgit show in stash_show enter (#450)
Instead of using `git stash show` in the `enter` binding of the
`stash_show` command, use `forgit show`. This allows forgit to show the
stash in the same interactive way it shows other commits (e.g. on
`forgit log`), with the same context and formatting options. - Refactor: Remove unnecessary xargs in git show commands
- Fix: remove explicit -u flag in git status command in _forgit_add (#455)
git status includes untracked files by default, so passing the flag
explicitly is not necessary. This allows overriding forgits behavior
by setting showUntrackedFiles = no in the .gitconfig. - Fix: bash completions for reword
- Feat: use git log completions for fixup commands
- Fix: early out with non-file arguments in checkout file (#456)
- Fix: files in untracked directories are not shown in git add
Pass the value of git config status.showUntrackedFiles to the git status
command we run in _forgit_add, defaulting to 'all' when unset.
Additionally correctly handle directories in _forgit_add_preview for the
case when status.showUntracked is explicitly set to 'normal'. - Fix: use github/gitignore for ignore files (#461)
The repo we originally used has gone away
25.07.0
Changes since 25.06.0:
- Refactor: do not disable shellcheck 2230
It is optional with ubuntu 24.04 and disabled by default. - Docs: improve completion docs and move them to the top
- Fix: allow filtering by files in fixup, squash and reword (#448)
This reverts commit 3f694f6 and adds the same filtering option to reword.