From a0ac9efefc9e92e533011591863d6b7c0dffe245 Mon Sep 17 00:00:00 2001 From: sandroid Date: Mon, 25 Mar 2024 23:32:36 +0100 Subject: [PATCH] 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. --- bin/git-forgit | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/git-forgit b/bin/git-forgit index 2db6d77..058566c 100755 --- a/bin/git-forgit +++ b/bin/git-forgit @@ -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