git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-sh-prompt: bash: GIT_PS1_COMPRESSSPARSESTATE: unbound variable

From
Junio C Hamano <gitster@pobox.com>
Date
May 13, 2021, 04:13 UTC
Message-ID
<xmqqzgwzb7ad.fsf@gitster.g>
In-Reply-To
<xmqq4kf7cmaj.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 16 quoted lines
> Christoph Anton Mitterer <calestyo@scientia.net> writes:
>
>> Could it be that git-sh-prompt no longer works properly?
>>
>> With git 2.31.1:
>> $ . /usr/lib/git-core/git-sh-prompt
>> $ PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
>> $ cd someGitRepo
>> bash: GIT_PS1_COMPRESSSPARSESTATE: unbound variable
>> $ 
>
> Would
>
>     $ set +u
>
> fix it, I have to wonder?
Assuming that the answer is yes,...
I do not know who maintains this contrib/ script, but here is what
$ git grep -e '\$GIT_PS1_' -e '\${GIT_PS1_[^}-]*}' contrib/completion

gave me a handful candidates for fixes. Randomly picking Elijah from the output of

    $ git shortlog --no-merges -sn --since=18.months  \
	contrib/completion/git-prompt.sh |
      head -n 1
for ideas.
Thanks.
 contrib/completion/git-prompt.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git i/contrib/completion/git-prompt.sh w/contrib/completion/git-prompt.sh
index 4640a1535d..b9485f4016 100644
--- i/contrib/completion/git-prompt.sh
+++ w/contrib/completion/git-prompt.sh
@@ -139,7 +139,7 @@ __git_ps1_show_upstream ()
 
 	# parse configuration values
 	local option
-	for option in ${GIT_PS1_SHOWUPSTREAM}; do
+	for option in ${GIT_PS1_SHOWUPSTREAM-}; do
 		case "$option" in
 		git|svn) upstream="$option" ;;
 		verbose) verbose=1 ;;
@@ -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
Previous: Junio C HamanoNext: Elijah Newren
Message 3 of 9 in “git-sh-prompt: bash: GIT_PS1_COMPRESSSPARSESTATE: unbound variable”
  1. Christoph Anton MittererMay 13, 2021
  2. Junio C HamanoMay 13, 2021
  3. Junio C HamanoMay 13, 2021
  4. Elijah NewrenMay 13, 2021
  5. Junio C HamanoMay 13, 2021
  6. Christoph Anton MittererMay 19, 2021
  7. Junio C HamanoMay 19, 2021
  8. Elijah NewrenMay 20, 2021
  9. Christoph Anton MittererMay 13, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.