From: Junio C Hamano Date: Wed, 14 Jan 2015 20:35:48 +0000 (-0800) Subject: Merge branch 'tf/prompt-preserve-exit-status' X-Git-Tag: v2.3.0-rc1~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9920c718254d946e685ef1295ff9ea0c14bac9cf;p=git 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 --- 9920c718254d946e685ef1295ff9ea0c14bac9cf diff --cc contrib/completion/git-prompt.sh index c0f62b54d4,3a11f4e97d..214e859f99 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@@ -360,7 -352,11 +361,7 @@@ __git_ps1 ( rev_parse_exit_code="$?" if [ -z "$repo_info" ]; then - return - if [ $pcmode = yes ]; then - #In PC mode PS1 always needs to be set - PS1="$ps1pc_start$ps1pc_end" - fi + return $exit fi local short_sha @@@ -375,14 -371,6 +376,14 @@@ local inside_gitdir="${repo_info##*$'\n'}" local g="${repo_info%$'\n'*}" + if [ "true" = "$inside_worktree" ] && + [ -n "${GIT_PS1_HIDE_IF_PWD_IGNORED-}" ] && + [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] && + git check-ignore -q . + then - return ++ return $exit + fi + local r="" local b="" local step="" @@@ -426,7 -414,10 +427,7 @@@ else local head="" if ! __git_eread "$g/HEAD" head; then - return - if [ $pcmode = yes ]; then - PS1="$ps1pc_start$ps1pc_end" - fi + return $exit fi # is it a symbolic ref? b="${head#ref: }"