8 local git_dir ref base_dir sub_dir action branch
9 git_dir=$(git rev-parse --git-dir 2> /dev/null) || return
11 base_dir=${$(readlink -f "$git_dir/..")/$HOME/'~'}
13 sub_dir=$(git rev-parse --show-prefix)
15 ref=$(git symbolic-ref HEAD 2> /dev/null) || return
19 if [ -d "$git_dir/../.dotest" ]; then
20 if [ -f "$git_dir/../.dotest/rebasing" ]; then
22 elif [ -f "$git_dir/../.dotest/applying" ]; then
28 elif [ -f "$git_dir/.dotest-merge/interactive" ]; then
30 branch="$(cat "$git_dir/.dotest-merge/head-name")"
31 elif [ -d "$git_dir/.dotest-merge" ]; then
33 branch="$(cat "$git_dir/.dotest-merge/head-name")"
34 elif [ -f "$git_dir/MERGE_HEAD" ]; then
38 test -f "$git_dir/BISECT_LOG" && psvar[3]="bisect"
39 branch="$(git symbolic-ref HEAD 2>/dev/null)" || \
40 branch="$(git describe --exact-match HEAD 2>/dev/null)" || \
41 branch="$(cut -c1-7 "$git_dir/HEAD")..."
44 # Got here, we're in git
45 psvar[4]=${branch#refs/heads/}
50 precmd_functions+='git_parse'