Forgit Versions Save

:zzz: A utility tool powered by fzf for using git interactively.

23.06.0

11 months ago

Changes since 23.05.0:

23.05.0

1 year ago

23.04.0

1 year ago

Changes since 23.03.0:

  • Detect unexported variables in fish correctly (#290) Fixes #289
  • Only show available cherry picks in preview (#293) This is a follow-up to #266, which already switched to showing only available commits during cherry-picking. This patch does the same for the branch preview in _forgit_cherry_pick_from_branch.
  • Fix broken cherry picking (#294) With the changes of #261 and #266 we accidentally broke the return value of `_forgit_cherry_pick`, which led to the loop in `_forgit_cherry_pick_from_branch` being terminated in the wrong cases. Fix this by moving all the post processing after fzf to a later call. Also simplify the array population using a single line instead of a loop. This should also fix #286 ("fatal: bad revision ''").
  • Add git options for each forgit command (#292) The git behavior within forgit can now be customized with a dedicated variable for each forgit command, e.g. `FORGIT_ADD_GIT_OPTS` is passed to the `git add` call within `ga`. Also renaming `FORGIT_STASH_PUSH_OPTS` to `FORGIT_STASH_PUSH_FZF_OPTS` and `FORGIT_REVERT_COMMIT_OPTS` to `FORGIT_REVERT_COMMIT_FZF_OPTS` for consistency.
  • Fix git options (#296) Adding options to a command in a quoted variable as introduced in #292 causes problems in several cases unfortunately (e.g. git rebase interpreting an empty string argument as a remote, which leads to an error "unknown upstream ''"). Change the implementation in a way that each git command is stored in a shell variable, including the options, which is then evaluated. This also makes the code more DRY because each git options variable is evaluated only once. Furthermore, fix temporary IFS settings. When setting the IFS for a certain command only, the command must not be an assignment, otherwise both assignments are evaluated permanently (see https://unix.stackexchange.com/a/458901/317320).
  • Fix temporary IFS settings (#297) When setting the IFS for a certain command only, the command must not be an assignment, otherwise both assignments are evaluated permanently (see https://unix.stackexchange.com/a/458901/317320).
  • Add keybinding ctrl+y for copying stash ID in gss (#295)

23.03.0

1 year ago

Changes since 23.02.0:

  • Fix empty diff preview on renames (#282) This had been fixed before in #189, but obviously the patch broke support for whitespaces in file names. That was fixed in #204, which in turn broke support for renames again. Prepare the list of file names with the null-character \0 as a delimiter, so that we can use "xargs -0" to read it. This makes renames as well as filenames with spaces work correctly.

23.02.0

1 year ago

Changes since 23.01.0:

23.01.0

1 year ago

Changes since 22.12.0:

22.12.0

1 year ago

Important for fish users: If you have installed forgit via fisher, please update it to v4.4.3 or higher before installing this forgit release.

Changes since 22.11.0:

22.11.0

1 year ago

Initial release! 🚀