From 1b027dafefb2686db4c63cbc4397b9441b52c9cc Mon Sep 17 00:00:00 2001 From: eacousineau Date: Tue, 19 Mar 2013 14:05:02 -0500 Subject: [PATCH] Trying out some mods to this. Seems like speed is an issue with git rev-parse --- prompt.sh | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/prompt.sh b/prompt.sh index 5385754..43d4943 100644 --- a/prompt.sh +++ b/prompt.sh @@ -1,20 +1,14 @@ function find_git_branch { - local dir=. head - until [ "$dir" -ef / ]; do - if [ -f "$dir/.git/HEAD" ]; then - head=$(< "$dir/.git/HEAD") - if [[ $head == ref:\ refs/heads/* ]]; then - git_branch=" (${head#*/*/})" - elif [[ $head != '' ]]; then - git_branch=' (detached)' - else - git_branch=' (unknown)' - fi - return - fi - dir="../$dir" - done - git_branch='' + local dir=. head branch + if branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null) + then + if [[ -z "$branch" ]]; then + branch='detached' + fi + git_branch=" ($branch)" + else + git_branch="" + fi } function find_git_dirty { st=$(git status 2>/dev/null | tail -n 1) @@ -32,4 +26,4 @@ PROMPT_COMMAND="find_git_branch; find_git_dirty; $PROMPT_COMMAND" # export PS1="\u@\h \w\[$txtcyn\]\$git_branch\[$txtylw\]\$git_dirty\[$txtrst\]\$ " # Default Git enabled root prompt (for use with "sudo -s") -# export SUDO_PS1="\[$bakred\]\u@\h\[$txtrst\] \w\$ " \ No newline at end of file +# export SUDO_PS1="\[$bakred\]\u@\h\[$txtrst\] \w\$ "