Skip to content

Instantly share code, notes, and snippets.

@aufrank
Forked from yannk/.bashrc.sh
Created March 23, 2009 15:06
Show Gist options
  • Save aufrank/83575 to your computer and use it in GitHub Desktop.
Save aufrank/83575 to your computer and use it in GitHub Desktop.
as seen in yannk++, but remove debian-specific stuff
# add in your .bashrc
# http://henrik.nyh.se/2008/12/git-dirty-prompt
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/
# http://blog.cyberion.net/2009/01/improved-bash-prompt-for-git-usage.html
# username@Machine ~/dev/dir[master]$ # clean working directory
# username@Machine ~/dev/dir[master⚡]$ # dirty working directory
#
# I've made the following ajustements:
# - Use of plumbing, that should be faster than git status porcelain.
# - Don't show my repo as dirty if it has files unknown from the index (I always have).
# - Integrated to debian's PS1 (trivial to adapt) and uses standard __git_ps1 from bash_completion
# NOTE: if you notice bash weirdness, disable colors
function __git_dirty {
local dirty RED NO_COLOR
RED="\033[0;31m"
NO_COLOR="\e[0m"
dirty=$(git diff-index --cached --quiet HEAD 2>/dev/null || echo "⚡")
if [ ! -z "$dirty" ]; then
echo "${RED}${dirty}${NO_COLOR}";
return;
fi
dirty=$(git diff-index --quiet HEAD 2>/dev/null || echo "⚡")
[ -z "$dirty" ] && return
echo "${RED}${dirty}${NO_COLOR}";
}
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\W\[\033[00m\]$(__git_ps1 " [%s$(__git_dirty)]")\$ '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment