Re: [PATCH] Improve bash prompt to detect merge / rebase in progress
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Sep 1, 2007, 22:20 UTC
- Message-ID
- <20070901222036.GH18160@spearce.org>
- In-Reply-To
- <7vir6us1ia.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
> Robin Rosenberg <robin.rosenberg@dewire.com> writes: > > > > + local g="$(git rev-parse --git-dir 2>/dev/null)" > > + if [ -n "$g" ]; then > > + local r > > + local b > > + if [ -d "$g/../.dotest" ] > > + then > > + local b="$(git symbolic-ref HEAD 2>/dev/null)" > > + r="|REBASEING" > > I might be in the middle of resolving a conflicted "git am".
And there's no way to tell the difference either. I just spent a few minutes digging around git-am and git-rebase and realized there really isn't a way to tell these two user level commands apart as git-rebase (by default) calls git-am and there's no marker to say it was started by rebase.
But more than that I have to wonder why git-am still uses .dotest in the working directory for its state management. Why don't we move it into $GIT_DIR like we do for `rebase -m`?
> But I love the idea. We need to think about cleaning up our > "state machine" mechanism to make this kind of thing easier to > do. We've had a few suggestions on the list in the past but > they never passed the suggestion/speculation stage.
I love the idea too. I've actually walked away from a rebase -i and come back the following day and forgotten that I was in the middle of a rebase and just thought I was sitting on a detached checkout. Really confused me for a few minutes when code I was looking for wasn't found (it was still pending to be applied by rebase -i).
-- Shawn.