From: Ville Skyttä Date: Mon, 6 Jun 2016 16:29:33 +0000 (+0300) Subject: git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha X-Git-Tag: v2.9.1~29^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/34d8f5a8aa4aa17af3158f325173eb08c9c05eb1?ds=inline;hp=--cc git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha 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ä Signed-off-by: Junio C Hamano --- 34d8f5a8aa4aa17af3158f325173eb08c9c05eb1 diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index 366f0bc1e9..ba599fc4a1 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'*}"