From a9f21b381cd855bc2fe79cb7b8f472d9f41f6bfa Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Tue, 22 Sep 2009 14:38:24 -0400 Subject: [PATCH 1/2] Improved git prompt handling * Improved speed, the first time cd'ing into a git repo the prompt returns much faster (for me at least). * Prompt is now decorated in nested folders within a git repo. No longer check for the '.git' folder. --- git.zsh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/git.zsh b/git.zsh index faf543fd..bcf3ed77 100644 --- a/git.zsh +++ b/git.zsh @@ -11,16 +11,10 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # get the name of the branch we are on function git_prompt_info() { - if [[ -d .git ]]; then - ref=$(git symbolic-ref HEAD 2> /dev/null) || return - branch=${ref#refs/heads/} - CURRENT_BRANCH="$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" - else - CURRENT_BRANCH='' - fi - - echo $CURRENT_BRANCH + ref=$(git-symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" } + parse_git_dirty () { if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" From 9f0df188f4dd820d2f72f8095619709e62808ff5 Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Tue, 22 Sep 2009 14:48:55 -0400 Subject: [PATCH 2/2] Git 1.6 support `git-symbolic-ref` needs to be `git symbolic-ref` --- git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.zsh b/git.zsh index bcf3ed77..9409c92d 100644 --- a/git.zsh +++ b/git.zsh @@ -11,7 +11,7 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # get the name of the branch we are on function git_prompt_info() { - ref=$(git-symbolic-ref HEAD 2> /dev/null) || return + ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" }