Skip to content

Instantly share code, notes, and snippets.

@zacbir
Created August 10, 2012 13:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zacbir/3314335 to your computer and use it in GitHub Desktop.
Save zacbir/3314335 to your computer and use it in GitHub Desktop.
.bashrc-dvcs
# Adapted from http://henrik.nyh.se/2008/12/git-dirty-prompt
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/
# username@Machine ~/dev/dir [bzr:master]$ # clean working directory
# username@Machine ~/dev/dir [bzr:master*]$ # dirty working directory
# git
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[git:\1$(parse_git_dirty)]/"
}
# bzr (expects to use bzr-colo: https://launchpad.net/bzr-colo)
function parse_bzr_dirty {
[[ $(bzr st 2> /dev/null | tail -n1) != "" ]] && echo "*"
}
function parse_bzr_branch {
bzr colo-branches 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[bzr:\1$(parse_bzr_dirty)]/"
}
# combined
function parse_dvcs_branch {
echo "$(parse_bzr_branch)$(parse_git_branch)"
}
# Only intended as inspiration - captures info pertinent to Zac's setup
export PS1='\u@\h \w $(parse_dvcs_branch)\n$ '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment