Wenxuan Zhang
ea58599e66
refactor: extract branch helpers and ANSI strip utility
...
- Add _forgit_strip_ansi for removing ANSI escape codes
- Add _forgit_branch_list to list branches with current branch first
- Add _forgit_extract_branch_name to parse branch names from git output
- Update checkout_branch, switch_branch, branch_delete, cherry_pick_from_branch,
and branch_preview to use the new helpers
- Fix _forgit_inside_work_tree to suppress stderr
2026-03-10 09:20:16 +08:00
sandr01d
b3e8b3eae8
docs: add docs for 'show commit message' keybinding ( #492 )
2026-03-09 18:16:02 +01:00
Wenxuan Zhang
4747dedb86
docs: move pager config out of per-command table into own section
...
Remove sparse Pager column from the per-command options table and
promote the pager fallback info to a standalone "## Pagers" section.
2026-03-07 12:14:56 +08:00
Wenxuan Zhang
f016d18975
docs: restructure README for improved navigation
...
Reorder sections: Features > Installation > Usage > Configuration.
Convert features list to table, merge per-command config tables,
move Completions under Installation, extract Shell Aliases and
Git Integration into a new Usage section.
2026-03-07 12:09:10 +08:00
Wenxuan Zhang
605430e8b8
docs: update sheldon version in README
...
Update sheldon example from 25.02.0 to 26.01.0 and add a comment
pointing to the releases page.
2026-03-07 11:44:52 +08:00
Wenxuan Zhang
9ad86dd528
style(docs): capitalize section headings in README
...
Capitalize Options sub-section headings for consistency with the
Installation section's heading style.
2026-03-07 11:44:42 +08:00
Wenxuan Zhang
04cff88bc6
docs: improve options documentation in README
...
- Move FORGIT_GLO_FORMAT from pagers table to other options table
where it belongs, and clarify its relationship to FORGIT_LOG_FORMAT
- Add FORGIT_LOG_GRAPH_ENABLE to other options table
- Add FORGIT_COPY_CMD to other options table (previously only
mentioned briefly in the Keybindings section)
2026-03-07 11:44:30 +08:00
Wenxuan Zhang
699cb93cf2
docs: add missing attributes command to README
...
Add the interactive .gitattributes generator (gat) to the Features
section, which was present in the source code and alias list but
missing from the feature list.
2026-03-07 11:44:07 +08:00
Wenxuan Zhang
396b7edea4
fix(docs): fix typos and broken markdown in README
...
- Fix typo: gitatrributes → gitattributes
- Remove extra quote in fzf install link
- Add missing spaces before parentheses in Tips section
- Remove .git suffix from bat repository link
2026-03-07 11:43:55 +08:00
sandroid
53da496336
ci: use git-cliff for generating changelogs
2026-01-01 23:55:18 +01:00
sandroid
65a6390e86
ci: enforce conventional commits using commitlint
2026-01-01 23:55:18 +01:00
sandr01d
151d61daff
fix: forgit add shows dir view for submodules ( #484 )
2025-12-21 20:45:56 +01:00
sandr01d
024389f799
test: ignore global git config when running tests ( #485 )
2025-12-21 20:20:44 +01:00
sandr01d
a5f5ea5206
ci: use stable bashunit version ( #486 )
2025-12-20 17:21:06 +01:00
dependabot[bot]
19427aa202
Meta: Bump actions/download-artifact from 6 to 7 ( #482 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 6 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-18 15:31:25 +01:00
dependabot[bot]
e242562612
Meta: Bump actions/upload-artifact from 5 to 6 ( #483 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-18 15:30:11 +01:00
Jose M. Valera Reales
76506fc3da
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."
2025-12-10 20:23:14 +01:00
Iván Sotillo del Horno
3cd63a1bbe
Feature: add interactive git switch selector ( #472 )
2025-12-10 20:19:26 +01:00
sandr01d
779b59690f
Feature: allow configuring arguments of git ls-files in forgit clean ( #481 )
2025-12-08 20:24:11 +01:00
sandr01d
9167c65714
Meta: update bashunit helper functions due to breaking change ( #480 )
2025-12-08 20:12:34 +01:00
sandr01d
b9ed7bc40e
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.
2025-12-05 22:58:46 +01:00
dependabot[bot]
582a64ea36
Chore(deps): Bump actions/checkout from 5 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 18:28:32 +08:00
dependabot[bot]
eae60c1373
Meta: Bump actions/upload-artifact from 4 to 5 ( #469 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-01 19:29:28 +01:00
dependabot[bot]
7953f1c883
Meta: Bump actions/download-artifact from 5 to 6 ( #470 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-01 19:28:34 +01:00
carlfriedrich
2a4e2e53b7
Refactor: extract function to remove status from diff line ( #464 )
2025-09-08 06:47:52 +02:00
carlfriedrich
61d3192055
Meta: Add unit test for _forgit_get_files_from_diff_line function ( #464 )
...
Update CI to install latest bashunit beta version instead of fixed
0.23.0 version because we need the new "data_set" function for
parameterized tests.
2025-09-08 06:47:52 +02:00
carlfriedrich
ab6a63ee0f
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.
2025-09-08 06:47:52 +02:00
carlfriedrich
9b3b185e24
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.
2025-09-08 06:47:52 +02:00
carlfriedrich
94e52ed942
Meta: Add bashunit tests to CI workflow and implement a first test case ( #464 )
2025-09-08 06:47:52 +02:00
dependabot[bot]
5d4d6121b1
Meta: Bump actions/checkout from 4 to 5 ( #463 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-21 21:05:51 +02:00
dependabot[bot]
23ccf9a246
Chore(deps): Bump actions/download-artifact from 4 to 5 ( #462 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 18:52:17 +02:00
sandr01d
f7796d5ce2
Fix: use github/gitignore for ignore files ( #461 )
...
The repo we originally used has gone away
2025-07-30 19:19:33 +02:00
sandroid
9a4ff16829
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'.
2025-07-23 09:39:37 +02:00
sandr01d
8285d2e1b0
Fix: early out with non-file arguments in checkout file ( #456 )
2025-07-16 20:37:06 +02:00
sandroid
7c3aff1142
Feat: use git log completions for fixup commands
2025-07-16 20:36:10 +02:00
sandroid
c9d047bf16
Fix: bash completions for reword
2025-07-16 20:36:10 +02:00
sandr01d
fd373ba6c2
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.
2025-07-15 21:00:04 +02:00
carlfriedrich
c0df9a56d0
Refactor: Remove unnecessary xargs in git show commands
2025-07-15 06:36:45 +02:00
carlfriedrich
cfc954ebc0
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.
2025-07-15 06:36:45 +02:00
sandr01d
b71e54c4aa
Feate: allow passing arguments to git checkout file ( #451 )
2025-07-13 15:41:48 +02:00
sandr01d
fe350db899
Feat: allow passing arguments to git add ( #452 )
2025-07-13 15:41:14 +02:00
sandr01d
7a5e68b11b
Fix: allow filtering by files in fixup, squash and reword ( #448 )
...
This reverts commit 3f694f6e99 and adds the same filtering option to reword.
2025-06-21 00:36:27 +02:00
sandroid
d08c9e5477
Docs: improve completion docs and move them to the top
2025-06-04 16:58:31 +08:00
sandroid
d477ffaee4
Refactor: do not disable shellcheck 2230
...
It is optional with ubuntu 24.04 and disabled by default.
2025-06-03 09:37:29 +08:00
sandr01d
455e42ba64
Feature: add interactive reword selector ( #443 )
2025-05-29 20:51:12 +02:00
sandr01d
3f694f6e99
Refactor: Do not pass files to fixup and squash ( #442 )
...
Similar to 09f17c9 , this removes the option to pass files to the fixup
and squash functions. There is no need to do so.
2025-05-28 19:37:36 +02:00
sandr01d
c2b012855f
Feature: add interactive squash selector ( #440 )
2025-05-25 18:21:56 +02:00
sandr01d
38d74ba3ed
Fix: prefix all commands in forgit.plugin.zsh ( #439 )
...
* Fix: prefix all commands in forgit.plugin.zsh
This prevents the wrong commands getting executed in case a user added a
shell alias with the same name.
* Fix: prefix built-ins
2025-05-18 16:23:51 +02:00
sandr01d
47fd184c7c
Fix: use FORGIT_SHOW_FZF_OPTS in _forgit_show ( #437 )
2025-05-05 18:16:52 +02:00
sandr01d
cf9e15edab
Fix: add fish completions for forgit diff and forgit show ( #434 )
2025-04-23 18:39:35 +02:00