about summary refs log tree commit diff
path: root/Functions/VCS_Info/Backends/VCS_INFO_detect_git
blob: b7955de38e1e04a670bbbc4af6ff211f965e1f06 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## vim:ft=zsh
## git support by: Frank Terbeck <ft@bewatermyfriend.org>
## Distributed under the same BSD-ish license as zsh itself.

setopt localoptions NO_shwordsplit

[[ $1 == '--flavours' ]] && { print -l git-p4 git-svn; return 0 }

if VCS_INFO_check_com ${vcs_comm[cmd]} && vcs_comm[gitdir]="$(${vcs_comm[cmd]} rev-parse --git-dir 2> /dev/null)" ; then
    vcs_comm[basedir]="$( ${vcs_comm[cmd]} rev-parse --show-toplevel 2> /dev/null )"
    if   [[ -d ${vcs_comm[gitdir]}/svn ]]             ; then vcs_comm[overwrite_name]='git-svn'
    elif [[ -d ${vcs_comm[gitdir]}/refs/remotes/p4 ]] ; then vcs_comm[overwrite_name]='git-p4' ; fi
    return 0
fi
return 1