Fix _forgit_diff on macOS

In bash 3.2 uninitialized arrays contain one entry: an empty string,
whereas in modern versions of bash they do not contain any entry. Make
sure the $commits and $files arrays are explicitly initialized as empty
arrays to allow git to fall back to diffing local changes instead of
trying to diff against a revision with a name of an empty string.
This commit is contained in:
sandroid 2024-03-25 23:32:36 +01:00
parent 0a8a70bc20
commit a0ac9efefc
No known key found for this signature in database
GPG key ID: 91418C9982B8B76E

View file

@ -242,6 +242,8 @@ _forgit_diff_enter() {
_forgit_diff() {
_forgit_inside_work_tree || return 1
local files opts commits escaped_commits
commits=()
files=()
[[ $# -ne 0 ]] && {
if git rev-parse "$1" -- &>/dev/null ; then
if [[ $# -gt 1 ]] && git rev-parse "$2" -- &>/dev/null; then