Use git-describe --exact-match in bash prompt on detached HEAD
authorShawn O. Pearce <spearce@spearce.org>
Sun, 24 Feb 2008 08:07:33 +0000 (03:07 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 24 Feb 2008 18:01:24 +0000 (10:01 -0800)
Most of the time when I am on a detached HEAD and I am not doing
a rebase or bisect operation the working directory is sitting on a
tagged release of the repository.  Showing the tag name instead of
the commit SHA-1 is much more descriptive and a much better reminder
of the state of this working directory.

Now that git-describe --exact-match is available as a cheap means
of obtaining the exact annotated tag or nothing at all, we can
favor the annotated tag name over the abbreviated commit SHA-1.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 4ea727b14303e397117067993dbda446ed154ea1..8722a687954ec47a538eff45d41434deedf717fb 100755 (executable)
@@ -91,7 +91,10 @@ __git_ps1 ()
                        fi
                        if ! b="$(git symbolic-ref HEAD 2>/dev/null)"
                        then
-                               b="$(cut -c1-7 $g/HEAD)..."
+                               if ! b="$(git describe --exact-match HEAD 2>/dev/null)"
+                               then
+                                       b="$(cut -c1-7 $g/HEAD)..."
+                               fi
                        fi
                fi