From: Shawn O. Pearce Date: Sat, 16 May 2009 19:59:47 GMT Subject: Re: [PATCH] completion: fix PS1 display during a merge on detached HEAD Message-ID: <20090516195947.GI30527@spearce.org> In-Reply-To: <7vzldcnawx.fsf@alter.siamese.dyndns.org> Junio C Hamano wrote: > If your merge stops in a conflict while on a detached HEAD, recent > completion code fails to show anything. This was because various cases > added to support the operation-in-progress markers (e.g. REBASE, MERGING) > forgot that they need to set the variable "b" to something for the result > they computed to be displayed at all. > > Probably not many people make trial merges on a detached HEAD (which is > tremendously useful feature of git, by the way), and that may be why this > was not noticed for a long time. > > Signed-off-by: Junio C Hamano Yay, thanks Junio. Trivially-Acked-By: Shawn O. Pearce :-) > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index ad26b7c..4462ef0 100755 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -99,10 +99,10 @@ __git_ps1 () > elif [ -d "$g/rebase-merge" ]; then > r="|REBASE-m" > b="$(cat "$g/rebase-merge/head-name")" > - elif [ -f "$g/MERGE_HEAD" ]; then > - r="|MERGING" > - b="$(git symbolic-ref HEAD 2>/dev/null)" > else > + if [ -f "$g/MERGE_HEAD" ]; then > + r="|MERGING" > + fi > if [ -f "$g/BISECT_LOG" ]; then > r="|BISECTING" > fi -- Shawn.