Drastically improve speed of Git when operating on a large repo.

This change applies only to the gentoo-olipro theme, but of course, any
theme that also performs these checks would benefit.
This commit is contained in:
Oliver 2012-10-14 13:15:54 +02:00
commit b4338fe3e4

View file

@ -9,7 +9,8 @@ zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r'
zstyle ':vcs_info:*' enable git svn
theme_precmd () {
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {
if [[ -z $(git status --porcelain --untracked-files=no 2> /dev/null) ]] {
git diff-index --quiet --ignore-submodules HEAD -- 2> /dev/null
if [[ $? -eq 0 ]] {
zstyle ':vcs_info:*' formats ' (%b)%c%u%B%F{blue}'
} else {
if [[ -z %u ]] {
@ -26,7 +27,6 @@ theme_precmd () {
}
setopt prompt_subst
#PROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% '
PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~)${vcs_info_msg_0_} %#%{$reset_color%} '
PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~)${vcs_info_msg_0_} %#%{$reset_color%} '
autoload -U add-zsh-hook
add-zsh-hook precmd theme_precmd