]> git.ipfire.org Git - thirdparty/git.git/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 4640a1535d15968c0a16ce265d028282d43b0962..db7c0068fb55d9a520478e0b46ba952dc650f816 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