bloggo ergo sum
msgbartop
msgbarbottom

12 Apr 08 Useful Git Prompt

Here’s a snippet of bash script that I wrote to make my prompt tell me when I’m in a git repository and what branch I’m on.

And to my pleasant surprise, the PROMPT_COMMAND mechanism will respect color codes, so if you have your branch listings in git colorized, it will be reflected in your prompt.

function rfind
{
    dir=$PWD
    while [ ! -e $1 ]; do
        if [ $PWD == "/" ]; then
            command cd $dir
            return 1
        else
            command cd ..
        fi
    done
 
    rfdir=$PWD
    command cd $dir
 
    return 0
}
 
function git_dir
{
     typeset str
     rfdir=""
     rfind '.git'
     if [ $? -eq 0 ]; then
        str="{`git branch | grep '*' | cut -d ' ' -f 2`}"
        rfdir=`echo $rfdir | sed "s#$HOME#~#"`
     fi
 
    echo "$str"
}
 
function mkprompt
{
    typeset branch
    branch=`git_dir`
    PS1="${branch}$ "
}
 
PROMPT_COMMAND=mkprompt
export PROMPT_COMMAND

Tags: ,