Fix _forgit_diff on macOS (#375)

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:
sandr01d 2024-03-27 20:36:07 +01:00 committed by GitHub
parent 0a8a70bc20
commit d582f2aa0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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