Skip to content

Commit 7129ebb

Browse files
AnyOldName3dscho
authored andcommitted
prompt: Avoid using unset variables
After `set -u` in Bash, the Git prompt would not be displayed and the error `bash: GIT_PS1_COMPRESSSPARSESTATE: unbound variable` would be printed, due to `GIT_PS1_COMPRESSSPARSESTATE` being unset by default when it gets used. This change sets a default value of an empty string to use when the variable is unset to explicitly make the behaviour consistent between `set -u` and `set +u`. This fixes #2799 Signed-off-by: Chris Djali <[email protected]>
1 parent ddc3547 commit 7129ebb

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

contrib/completion/git-prompt.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -431,8 +431,8 @@ __git_ps1 ()
431431
fi
432432

433433
local sparse=""
434-
if [ -z "${GIT_PS1_COMPRESSSPARSESTATE}" ] &&
435-
[ -z "${GIT_PS1_OMITSPARSESTATE}" ] &&
434+
if [ -z "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
435+
[ -z "${GIT_PS1_OMITSPARSESTATE-}" ] &&
436436
[ "$(git config --bool core.sparseCheckout)" = "true" ]; then
437437
sparse="|SPARSE"
438438
fi
@@ -541,7 +541,7 @@ __git_ps1 ()
541541
u="%${ZSH_VERSION+%}"
542542
fi
543543

544-
if [ -n "${GIT_PS1_COMPRESSSPARSESTATE}" ] &&
544+
if [ -n "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
545545
[ "$(git config --bool core.sparseCheckout)" = "true" ]; then
546546
h="?"
547547
fi

0 commit comments

Comments
 (0)