From: Robin Rosenberg <robin.rosenberg@dewire.com>
To: Johannes Sixt <johannes.sixt@telecom.at>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
spearce@spearce.org
Subject: Re: [PATCH] Improve bash prompt to detect merge / rebase in progress
Date: Sun, 2 Sep 2007 12:40:35 +0200 [thread overview]
Message-ID: <200709021240.36807.robin.rosenberg@dewire.com> (raw)
In-Reply-To: <20070902101825.1938C576FA@dx.sixt.local>
söndag 02 september 2007 skrev Johannes Sixt:
> Robin Rosenberg wrote:
> > + if [ -d "$g/../.dotest" ]
> > + then
> > + ...
> > + else
> > + if [ -d "$g/.dotest-merge" ]
> > + then
> > + ...
> > + else
> > + if [ -f "$g/MERGE_HEAD" ]
> > + then
> > + ...
> > + else
> > + ...
> > + fi
> > + fi
> > + fi
>
> You can use 'elif' to avoid the increasing indentation.
>
> -- Hannes
Ofcourse :)
-- robin
From a0cce4fd418dc3ba715566980aa901dd12791b66 Mon Sep 17 00:00:00 2001
From: Robin Rosenberg <robin.rosenberg@dewire.com>
Date: Sat, 1 Sep 2007 12:20:48 +0200
Subject: [PATCH] Improve bash prompt to detect various states like an unfinished merge
This patch makes the git prompt (when enabled) show if a merge or a
rebase is unfinished. It also detects if a bisect is being done as
well as detached checkouts.
An uncompleted git-am cannot be distinguised from a rebase (the
non-interactive version). Instead of having an even longer prompt
we simply ignore that and hope the power users that use git-am knows
the difference.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
---
contrib/completion/git-completion.bash | 33 ++++++++++++++++++++++++++++---
1 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 5ed1821..433be3a 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -64,12 +64,37 @@ __gitdir ()
__git_ps1 ()
{
- local b="$(git symbolic-ref HEAD 2>/dev/null)"
- if [ -n "$b" ]; then
+ 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="|REBASING"
+ elif [ -d "$g/.dotest-merge" ]
+ then
+ r="|REBASING"
+ b="$(cat $g/.dotest-merge/head-name)"
+ elif [ -f "$g/MERGE_HEAD" ]
+ then
+ r="|MERGING"
+ b="$(git symbolic-ref HEAD 2>/dev/null)"
+ else
+ if [ -f $g/BISECT_LOG ]
+ then
+ r="|BISECTING"
+ fi
+ if ! b="$(git symbolic-ref HEAD 2>/dev/null)"
+ then
+ b="$(cut -c1-7 $g/HEAD)..."
+ fi
+ fi
+
if [ -n "$1" ]; then
- printf "$1" "${b##refs/heads/}"
+ printf "$1" "${b##refs/heads/}$r"
else
- printf " (%s)" "${b##refs/heads/}"
+ printf " (%s)" "${b##refs/heads/}$r"
fi
fi
}
--
1.5.3
next prev parent reply other threads:[~2007-09-02 10:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-01 10:22 [PATCH] Improve bash prompt to detect merge / rebase in progress Robin Rosenberg
2007-09-01 18:07 ` Junio C Hamano
2007-09-01 22:20 ` Shawn O. Pearce
2007-09-02 0:35 ` Johannes Schindelin
2007-09-02 0:44 ` Shawn O. Pearce
2007-09-01 23:02 ` Johannes Schindelin
2007-09-01 23:52 ` Robin Rosenberg
2007-09-02 10:18 ` Johannes Sixt
2007-09-02 10:40 ` Robin Rosenberg [this message]
2007-09-04 7:13 ` Shawn O. Pearce
2007-09-30 0:20 ` [PATCH] Improve bash prompt to detect various states like an unfinished merge Robin Rosenberg
2007-10-01 8:15 ` Junio C Hamano
2007-10-01 18:29 ` Robin Rosenberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200709021240.36807.robin.rosenberg@dewire.com \
--to=robin.rosenberg@dewire.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.sixt@telecom.at \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).