]> git.donarmstrong.com Git - zsh.git/blobdiff - .zsh/zshrc/60_vcsprompt
add zsh modes to everything
[zsh.git] / .zsh / zshrc / 60_vcsprompt
index dd8335a2fbf1528cb37e87a416bbd44cc25101a0..b5ab68ca5b1d31d902e1262be87fff4a486cbe72 100644 (file)
@@ -1,3 +1,5 @@
+# -*- mode: sh -*-
+# -*- mode: sh -*-
 # zshrc/60_vcsprompt
 #
 # Make git information available to the prompt
@@ -26,14 +28,17 @@ __git_get_reporoot()
 __git_get_branch()
 {
   # return the name of the git branch we're on
-  local ref
-  ref=$(git --git-dir="$PWD" symbolic-ref -q HEAD 2>/dev/null \
-     || git --git-dir="$PWD" name-rev --name-only HEAD 2>/dev/null) || return 1
+  local ref gitdir
+  gitdir="$(git rev-parse --git-dir)"
+  ref=$(git --git-dir="$gitdir" symbolic-ref -q HEAD 2>/dev/null \
+     || git --git-dir="$gitdir" name-rev --name-only HEAD 2>/dev/null) || return 1
   echo "${ref#refs/heads/}"
 }
 
 __git_print_preprompt()
 {
+  [ "$(git config --get core.bare)" = false ] || return
+
   local output
   output=(${(f):-"$(git diff --stat --relative 2>/dev/null)"})
   if [[ ${#output} -gt 1 ]]; then