title: How to disable git aware zsh theme on folders that dont have a .git/
body: <p>I'm really happy with the git plugin that comes with oh-my-zsh, but i haven't figure out how to add a function to check for a initialized git repo (i.e. check for .git folder) and don't display the branch name or status if it returns false. This is a great plug in but it does slow down the shell and I'd like to have it off on the other 90% of the folders... </p>
  
  <pre><code># get the name of the branch we are on
  function git_prompt_info() {
    ref=$(git symbolic-ref HEAD 2&gt; /dev/null) || return
    echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
  }
  
  
  # Checks if working tree is dirty
  parse_git_dirty() {
    local SUBMODULE_SYNTAX=''
    if [[ $POST_1_7_2_GIT -gt 0 ]]; then
          SUBMODULE_SYNTAX="--ignore-submodules=dirty"
    fi
    if [[ -n $(git status -s ${SUBMODULE_SYNTAX}  2&gt; /dev/null) ]]; then
      echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
    else
      echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
    fi
  }
  
  
  # Checks if there are commits ahead from remote
  function git_prompt_ahead() {
    if $(echo "$(git log origin/$(current_branch)..HEAD 2&gt; /dev/null)" | grep '^commit' &amp;&gt; /dev/null); then
      echo "$ZSH_THEME_GIT_PROMPT_AHEAD"
    fi
  }
  
  # Formats prompt string for current git commit short SHA
  function git_prompt_short_sha() {
    SHA=$(git rev-parse --short HEAD 2&gt; /dev/null) &amp;&amp; echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
  }
  
  # Formats prompt string for current git commit long SHA
  function git_prompt_long_sha() {
    SHA=$(git rev-parse HEAD 2&gt; /dev/null) &amp;&amp; echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
  }
  
  # Get the status of the working tree
  git_prompt_status() {
    INDEX=$(git status --porcelain 2&gt; /dev/null)
    STATUS=""
    if $(echo "$INDEX" | grep '^?? ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
    fi
    if $(echo "$INDEX" | grep '^A  ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
    elif $(echo "$INDEX" | grep '^M  ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
    fi
    if $(echo "$INDEX" | grep '^ M ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
    elif $(echo "$INDEX" | grep '^AM ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
    elif $(echo "$INDEX" | grep '^ T ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
    fi
    if $(echo "$INDEX" | grep '^R  ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
    fi
    if $(echo "$INDEX" | grep '^ D ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
    elif $(echo "$INDEX" | grep '^AD ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
    fi
    if $(echo "$INDEX" | grep '^UU ' &amp;&gt; /dev/null); then
      STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
    fi
    echo $STATUS
  }
  
  #compare the provided version of git to the version installed and on path
  #prints 1 if input version &lt;= installed version
  #prints -1 otherwise 
  function git_compare_version() {
    local INPUT_GIT_VERSION=$1;
    local INSTALLED_GIT_VERSION
    INPUT_GIT_VERSION=(${(s/./)INPUT_GIT_VERSION});
    INSTALLED_GIT_VERSION=($(git --version));
    INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]});
  
    for i in {1..3}; do
      if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then
        echo -1
        return 0
      fi
    done
    echo 1
  }
  
  #this is unlikely to change so make it all statically assigned
  POST_1_7_2_GIT=$(git_compare_version "1.7.2")
  #clean up the namespace slightly by removing the checker function
  unset -f git_compare_version
  </code></pre>