Bashのプロンプトに SVN のブランチ名を表示したい

参考、あるいはインスパイア、あるいはパクリ元

ソース

__my_parse_svn_branch2() {
    local LANG=C
    local svn_url=`svn info 2>/dev/null | sed -ne 's#^URL: ##p'`
#    一般的に使える
#    local svn_repository_root=`svn info 2>/dev/null | sed -ne 's#^Repository Root: ##p'`
#    リポジトリルート分かってる場合は自分で書いちゃう
    local svn_repository_root='http://hogehoge.com/fugafuga/piyopiyo/[^/]'
    echo $svn_url | sed -e 's#^'"${svn_repository_root}"'##g' | awk '{print $1}'
}

__my_svn_ps1(){
    local svn_branch=`__my_parse_svn_branch2`
    test "${svn_branch}" == "" || echo "(${svn_branch})" | xargs printf
}

CYAN="\[\033[1;36m\]"
LIGHTGRAY="\[\033[0;37m\]"
DISABLEPROPERTIES="\[\033[0m\]"

if [[ "$EMACS" ]]; then
    stty -echo nl
    export PS1="[\u@\h \w]\\$ "
else
    export PS1="${CYAN}[\u@\h \w${LIGHTGRAY}\$(__my_svn_ps1)${CYAN}]\\$ ${DISABLEPROPERTIES}"
fi