Re: [PATCH] completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 1, 2024, 15:31 UTC
- Message-ID
- <xmqqttklcd6d.fsf@gitster.g>
- In-Reply-To
- <20240401113033.28709-1-ville.skytta@iki.fi>
Ville Skyttä <ville.skytta@iki.fi> writes:
Show 7 quoted lines
> `GIT_PS1_SHOWCONFLICTSTATE` is a user variable that might not be set, > causing errors when the shell is in `nounset` mode. > > Take into account on access by falling back to an empty string. > > Signed-off-by: Ville Skyttä <ville.skytta@iki.fi> > ---
Obviously a good thing to do.
A related tangent is that
$ git grep -e '$GIT_PS1' -e '${GIT_PS1_[A-Z0-9_]*}' contrib/completion/shows a hit for the line with SHOWCONFLICTSTATE, plus two lines with GIT_PS1_SHOWUPSTREAM that lack the "if unset then use this value". Do you want to do another patch to fix them, or are they good as-is for some reason?
Thanks.
Show 16 quoted lines
> contrib/completion/git-prompt.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
> index 71f179cba3..3826f52dec 100644
> --- a/contrib/completion/git-prompt.sh
> +++ b/contrib/completion/git-prompt.sh
> @@ -528,7 +528,7 @@ __git_ps1 ()
> fi
>
> local conflict="" # state indicator for unresolved conflicts
> - if [[ "${GIT_PS1_SHOWCONFLICTSTATE}" == "yes" ]] &&
> + if [[ "${GIT_PS1_SHOWCONFLICTSTATE-}" == "yes" ]] &&
> [[ $(git ls-files --unmerged 2>/dev/null) ]]; then
> conflict="|CONFLICT"
> fi