Re: [PATCH 1/2] git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ville Skyttä <ville.skytta@xxxxxx> writes:

> 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@xxxxxx>
> ---

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.

>  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'*}"
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]