]> git.donarmstrong.com Git - zsh.git/blobdiff - .zsh/zshrc/60_vcsprompt
Use Git methods rather than self-cooked repo root finding
[zsh.git] / .zsh / zshrc / 60_vcsprompt
index cf901101a0c070adfccd5fd26695b7275c304765..78e061d40bdd4fac7979a9dbf1533e7a98e94254 100644 (file)
@@ -14,13 +14,7 @@ __git_get_reporoot()
 {
   # return the full path to the root of the current git repository
   [ -d "$GIT_DIR" ] && echo "$GIT_DIR" && return 0
-  local relroot
-  relroot="$(git rev-parse --show-cdup 2>/dev/null)" || return 1
-  if [ -n "$relroot" ]; then
-    readlink -f "$relroot"
-  else
-    echo $PWD
-  fi
+  git rev-parse --show-toplevel
 }
 
 __git_get_branch()
@@ -162,7 +156,7 @@ __vcs_set_prompt_variables()
         # if vcsh is used to get a subshell, then the repo root is the home
         # directory, but we want to indicate the vcsh context too:
         eval set -- $(__vcs_get_prompt_path_components "$HOME" "$branch")
-        set -- "%Svcsh:$VCSH_REPO_NAME%s" "$2" "$3"
+        set -- "vcsh:$VCSH_REPO_NAME" "$2" "$3"
       else
         eval set -- $(__vcs_get_prompt_path_components "$reporoot" "$branch")
         if [ -d "$GIT_DIR" ]; then
@@ -200,7 +194,7 @@ __vcs_set_prompt_variables()
       return
   esac
 
-  psvar[1,3]=(${(%)1} ${(%)2} ${(%)3})
+  psvar[1,3]=($1 $2 $3)
 }
 
 __vcs_print_preprompt()