+# -*- mode: sh -*-
+# -*- mode: sh -*-
# zshrc/60_vcsprompt
#
# Make git information available to the prompt
{
# 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
+ local dir; dir="$PWD/$(git rev-parse --show-cdup)"
+ # do not use --show-toplevel because it resolves symlinks
+ echo $dir:a
}
__git_get_branch()
# 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
return
esac
- psvar[1,3]=(${(%)1} ${(%)2} ${(%)3})
+ psvar[1,3]=($1 $2 $3)
}
__vcs_print_preprompt()