Re: [PATCH 1/2] git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 6, 2016, 20:08 UTC
- Message-ID
- <xmqq37oqw05b.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1465230573-18357-1-git-send-email-ville.skytta@iki.fi>
Ville Skyttä <ville.skytta@iki.fi> writes:
Show 6 quoted lines
> When the shell is in "nounset" or "set -u" mode, referencing unset or > null variables results in an error. Protect $ZSH_VERSION and > $BASH_VERSION against that, and initialize $short_sha before use. > > Signed-off-by: Ville Skyttä <ville.skytta@iki.fi> > ---
Thanks for following up. I do not run my interactive shells with "set -u", so I never noticed these, but apparently you do (or you know who does)--does this patch cover everything that is not "-u" safe?
Will queue.
Show 27 quoted lines
> contrib/completion/git-prompt.sh | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
> index 64219e6..97eacd7 100644
> --- a/contrib/completion/git-prompt.sh
> +++ b/contrib/completion/git-prompt.sh
> @@ -355,8 +355,8 @@ __git_ps1 ()
> # incorrect.)
> #
> local ps1_expanded=yes
> - [ -z "$ZSH_VERSION" ] || [[ -o PROMPT_SUBST ]] || ps1_expanded=no
> - [ -z "$BASH_VERSION" ] || shopt -q promptvars || ps1_expanded=no
> + [ -z "${ZSH_VERSION-}" ] || [[ -o PROMPT_SUBST ]] || ps1_expanded=no
> + [ -z "${BASH_VERSION-}" ] || shopt -q promptvars || ps1_expanded=no
>
> local repo_info rev_parse_exit_code
> repo_info="$(git rev-parse --git-dir --is-inside-git-dir \
> @@ -368,7 +368,7 @@ __git_ps1 ()
> return $exit
> fi
>
> - local short_sha
> + local short_sha=""
> if [ "$rev_parse_exit_code" = "0" ]; then
> short_sha="${repo_info##*$'\n'}"
> repo_info="${repo_info%$'\n'*}"