X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/1824e0507f2f636d27e03865fff96820c1b93192..c853fda54db5336befa027b4fe90f3b6b665c31e:/.zsh/zshrc/60_vcsprompt?ds=sidebyside diff --git a/.zsh/zshrc/60_vcsprompt b/.zsh/zshrc/60_vcsprompt index 07ea293..9513f6a 100644 --- a/.zsh/zshrc/60_vcsprompt +++ b/.zsh/zshrc/60_vcsprompt @@ -26,9 +26,10 @@ __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/}" } @@ -158,7 +159,9 @@ __vcs_set_prompt_variables() branch="$(__git_get_branch)" || { error "could not determine git branch"; return 1 } eval set -- $(__vcs_get_prompt_path_components "$reporoot" "$branch") - if [ -d "$GIT_DIR" ]; then + if [ -n "$VCSH_REPO_NAME" ]; then + set -- "vcsh/$VCSH_REPO_NAME" "$2" "$3" + elif [ -d "$GIT_DIR" ]; then # poor man's replace until I find out how to do named dirs properly # here: local _D="${GIT_DIR/$HOME/~}"