X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/92ae9f6d6b2239c570e16b97e58f60dcdeab65c4..1f227ef748afbd8c611007fd0041046c8ec84ef6:/.zsh/zshrc/60_vcsprompt?ds=inline

diff --git a/.zsh/zshrc/60_vcsprompt b/.zsh/zshrc/60_vcsprompt
index dd8335a..f9649fb 100644
--- a/.zsh/zshrc/60_vcsprompt
+++ b/.zsh/zshrc/60_vcsprompt
@@ -26,14 +26,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