current_git_branch() { local result=$(git-symbolic-ref HEAD 2>/dev/null) [[ -z ${result} ]] || echo "(${result##refs/heads/})" } current_cvs_repo() { local result if [[ -f CVS/Repository ]] ; then result=$(< CVS/Repository) echo "(CVS: ${result%%/*})" fi } current_svn_rev() { local result if [[ -d .svn ]] ; then result=$(svn info | sed -n -e '/^Revision: \([0-9]*\).*$/s//\1/p') echo "(SVN: r${result})" fi } current_scm_info() { local mygitinfo=$(current_git_branch) local mycvsinfo=$(current_cvs_repo) local mysvninfo=$(current_svn_rev) if [[ -n ${mygitinfo} ]] ; then echo ${mygitinfo} elif [[ -n ${mycvsinfo} ]] ; then echo ${mycvsinfo} elif [[ -n ${mysvninfo} ]] ; then echo ${mysvninfo} else echo "" fi }