]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: audit and guard $GIT_* against unset use
authorVille Skyttä <ville.skytta@iki.fi>
Thu, 8 Apr 2021 07:06:41 +0000 (10:06 +0300)
committerJunio C Hamano <gitster@pobox.com>
Thu, 8 Apr 2021 17:45:36 +0000 (10:45 -0700)
$GIT_COMPLETION_SHOW_ALL and $GIT_TESTING_ALL_COMMAND_LIST were used
without guarding against them being unset, causing errors in nounset
(set -u) mode.

No other nounset-unsafe $GIT_* usages were found.

While at it, remove a superfluous (duplicate) unset guard from $GIT_DIR
in __git_find_repo_path.

Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 7dc6cd8eb8381d66a75e443970adb768befe866c..1de74f10dd1caf035fa2abf14b2f86038d127781 100644 (file)
@@ -77,7 +77,7 @@ __git_find_repo_path ()
                test -d "$__git_dir" &&
                __git_repo_path="$__git_dir"
        elif [ -n "${GIT_DIR-}" ]; then
-               test -d "${GIT_DIR-}" &&
+               test -d "$GIT_DIR" &&
                __git_repo_path="$GIT_DIR"
        elif [ -d .git ]; then
                __git_repo_path=.git
@@ -427,7 +427,7 @@ __gitcomp_builtin ()
 
        if [ -z "$options" ]; then
                local completion_helper
-               if [ "$GIT_COMPLETION_SHOW_ALL" = "1" ]; then
+               if [ "${GIT_COMPLETION_SHOW_ALL-}" = "1" ]; then
                        completion_helper="--git-completion-helper-all"
                else
                        completion_helper="--git-completion-helper"
@@ -1910,7 +1910,7 @@ _git_help ()
                return
                ;;
        esac
-       if test -n "$GIT_TESTING_ALL_COMMAND_LIST"
+       if test -n "${GIT_TESTING_ALL_COMMAND_LIST-}"
        then
                __gitcomp "$GIT_TESTING_ALL_COMMAND_LIST $(__git --list-cmds=alias,list-guide) gitk"
        else