Skip to content

Instantly share code, notes, and snippets.

@jmazzi
Created July 23, 2010 18:05
Show Gist options
  • Select an option

  • Save jmazzi/487799 to your computer and use it in GitHub Desktop.

Select an option

Save jmazzi/487799 to your computer and use it in GitHub Desktop.
local g="$(git rev-parse --git-dir 2>/dev/null)"
if [ -n "$g" ]; then
local r
local b
if [ -d "$g/../.dotest" ]
then
if test -f "$g/../.dotest/rebasing"
then
r="|REBASE"
elif test -f "$g/../.dotest/applying"
then
r="|AM"
else
r="|AM/REBASE"
fi
b="$(git symbolic-ref HEAD 2>/dev/null)"
elif [ -f "$g/.dotest-merge/interactive" ]
then
r="|REBASE-i"
b="$(cat "$g/.dotest-merge/head-name")"
elif [ -d "$g/.dotest-merge" ]
then
r="|REBASE-m"
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
if ! b="tag: $(git describe --exact-match HEAD 2>/dev/null)"
then
b="$(cut -c1-7 "$g/HEAD")..."
fi
fi
fi
if [ -n "$1" ]; then
printf "$1" "%{$fg_bold[green]%}${b##refs/heads/}$r%{$reset_color%}"
else
printf "[%s]" "%{$fg_bold[green]%}${b##refs/heads/}$r%{$reset_color%}"
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment