diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-01-14 12:35:48 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-01-14 12:35:49 -0800 |
commit | 9920c718254d946e685ef1295ff9ea0c14bac9cf (patch) | |
tree | a0deed91f07bfb9532f5f91a52199f9a5d838ff8 /contrib | |
parent | Merge branch 'rh/hide-prompt-in-ignored-directory' (diff) | |
parent | git-prompt: preserve value of $? in all cases (diff) | |
download | tgif-9920c718254d946e685ef1295ff9ea0c14bac9cf.tar.xz |
Merge branch 'tf/prompt-preserve-exit-status'
Using the exit status of the last command in the prompt, e.g.
PS1='$(__git_ps1) $? ', did not work well because the helper
function stomped on the exit status.
* tf/prompt-preserve-exit-status:
git-prompt: preserve value of $? in all cases
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/completion/git-prompt.sh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index c0f62b54d4..214e859f99 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@ -293,6 +293,7 @@ __git_eread () # In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true __git_ps1 () { + # preserve exit status local exit=$? local pcmode=no local detached=no @@ -312,7 +313,7 @@ __git_ps1 () ;; 0|1) printf_format="${1:-$printf_format}" ;; - *) return + *) return $exit ;; esac @@ -360,7 +361,7 @@ __git_ps1 () rev_parse_exit_code="$?" if [ -z "$repo_info" ]; then - return + return $exit fi local short_sha @@ -380,7 +381,7 @@ __git_ps1 () [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] && git check-ignore -q . then - return + return $exit fi local r="" @@ -426,7 +427,7 @@ __git_ps1 () else local head="" if ! __git_eread "$g/HEAD" head; then - return + return $exit fi # is it a symbolic ref? b="${head#ref: }" @@ -523,6 +524,5 @@ __git_ps1 () printf -- "$printf_format" "$gitstring" fi - # preserve exit status return $exit } |