| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- 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" "${b##refs/heads/}$r"
 
-   else
 
-     printf "[%s]" "${b##refs/heads/}$r"
 
-   fi
 
- fi
 
 
  |