X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/ba5bd95983d7b78f798c44022dfafac797b89228..1824e0507f2f636d27e03865fff96820c1b93192:/.zsh/zshrc/60_vcsprompt?ds=sidebyside diff --git a/.zsh/zshrc/60_vcsprompt b/.zsh/zshrc/60_vcsprompt index aeabd77..07ea293 100644 --- a/.zsh/zshrc/60_vcsprompt +++ b/.zsh/zshrc/60_vcsprompt @@ -27,23 +27,25 @@ __git_get_branch() { # return the name of the git branch we're on local ref - ref=$(git symbolic-ref -q HEAD 2>/dev/null \ - || git-name-rev --name-only HEAD 2>/dev/null) || return 1 + 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 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 echo changes on filesystem: - print "${(F)output[1,-2]}" + print "${${(F)output[1,-2]}//\.\.\./…}" fi output=(${(f):-"$(git diff --cached --stat --relative 2>/dev/null)"}) if [[ ${#output} -gt 1 ]]; then echo cached/staged changes: - print "${(F)output[1,-2]}" + print "${${(F)output[1,-2]}//\.\.\./…}" fi }