Tony Finch <dot@xxxxxxxx> writes: > Signed-off-by: Tony Finch <dot@xxxxxxxx> > --- > contrib/completion/git-prompt.sh | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh > index c5473dc..5fe69d0 100644 > --- a/contrib/completion/git-prompt.sh > +++ b/contrib/completion/git-prompt.sh > @@ -288,6 +288,7 @@ __git_eread () > # In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true > __git_ps1 () > { > + local exit=$? > local pcmode=no > local detached=no > local ps1pc_start='\u@\h:\w ' > @@ -511,4 +512,7 @@ __git_ps1 () > else > printf -- "$printf_format" "$gitstring" > fi > + > + # preserve exit status > + return $exit > } Hmmmm. I thought "The patch trivially makes sense! Why didn't anybody notice this before?!?", but then noticed that I never suffered from an obvious consequence from the current lack of the exit-code-preserving: : gitster git.git/master; echo "<$PS1>" <: \h \W$(__git_ps1 "/%s"); > : gitster git.git/master; false : gitster git.git/master; echo $? 1 And it does not seem that it is needed, at least for my use pattern: : gitster git.git/master; ps1func () { echo "What Now: "; exit 8; } : gitster git.git/master; PS1='$(ps1func)' What Now: echo $? 0 What Now: (exit 6) What Now: echo $? 6 Also it does not seem that it is needed for the other style to use PROMPT_COMMAND: : gitster git.git/master; sh $ . contrib/completion/git-prompt.sh $ PROMPT_COMMAND='__git_ps1 "\h \W" "; "' gitster git.git (master); (exit 13) gitster git.git (master); echo $? 13 gitster git.git (master); true gitster git.git (master); echo $? 0 So, what are you fixing? In other words, please describe how it fails in the log message. Puzzled... -- 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