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
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
local inside_gitdir="${repo_info##*$'\n'}"
local g="${repo_info%$'\n'*}"
- return
+ if [ "true" = "$inside_worktree" ] &&
+ [ -n "${GIT_PS1_HIDE_IF_PWD_IGNORED-}" ] &&
+ [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] &&
+ git check-ignore -q .
+ then
++ return $exit
+ fi
+
local r=""
local b=""
local step=""
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: }"