]> Kevux Git Server - rit/commitdiff
git-prompt: work under set -u
authorElijah Newren <newren@gmail.com>
Thu, 13 May 2021 06:22:36 +0000 (06:22 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 May 2021 06:50:26 +0000 (15:50 +0900)
Commit afda36dbf3 ("git-prompt: include sparsity state as well",
2020-06-21) added the use of some variables to control how to show
sparsity state in the git prompt, but implicitly assumed that undefined
variables would be treated as the empty string.  This breaks users who
run under 'set -u'; fix the code to be more explicit.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-prompt.sh

index 4640a15..db7c006 100644 (file)
@@ -433,8 +433,8 @@ __git_ps1 ()
        fi
 
        local sparse=""
-       if [ -z "${GIT_PS1_COMPRESSSPARSESTATE}" ] &&
-          [ -z "${GIT_PS1_OMITSPARSESTATE}" ] &&
+       if [ -z "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
+          [ -z "${GIT_PS1_OMITSPARSESTATE-}" ] &&
           [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
                sparse="|SPARSE"
        fi
@@ -543,7 +543,7 @@ __git_ps1 ()
                        u="%${ZSH_VERSION+%}"
                fi
 
-               if [ -n "${GIT_PS1_COMPRESSSPARSESTATE}" ] &&
+               if [ -n "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
                   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
                        h="?"
                fi