[PATCH] Improve bash prompt to detect merge / rebase in progress
From: Robin Rosenberg <hidden>
Date: 2016-06-15 22:43:32
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Robin Rosenberg <hidden>
Date: 2016-06-15 22:43:32
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Robin Rosenberg <redacted> --- contrib/completion/git-completion.bash | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 5ed1821..1fef857 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash@@ -64,12 +64,34 @@ __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="|REBASEING" + else + if [ -d "$g/.dotest-merge" ] + then + r="|REBASING" + b="$(cat $g/.dotest-merge/head-name)" + else + if [ -f "$g/MERGE_HEAD" ] + then + r="|MERGING" + b="$(git symbolic-ref HEAD 2>/dev/null)" + else + b="$(git symbolic-ref HEAD 2>/dev/null)" + fi + 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.rc7.844.gfd3c5