diff options
author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2019-11-28 22:02:54 +0000 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2019-11-29 20:56:42 +0000 |
commit | cc3983ee586dff16638bdcdea40c784a54026571 (patch) | |
tree | 257b192751585afcffe56f9f661249bdcd9d491f /Functions/VCS_Info | |
parent | dae3e135d8c3e2d16e7dc22582aa8a3f66716de7 (diff) | |
download | zsh-cc3983ee586dff16638bdcdea40c784a54026571.tar.gz zsh-cc3983ee586dff16638bdcdea40c784a54026571.tar.xz zsh-cc3983ee586dff16638bdcdea40c784a54026571.zip |
44945: vcs_info git: Optimize detection by running fewer external commands.
Diffstat (limited to 'Functions/VCS_Info')
-rw-r--r-- | Functions/VCS_Info/Backends/VCS_INFO_detect_git | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_detect_git b/Functions/VCS_Info/Backends/VCS_INFO_detect_git index 61bc483e3..e4191f474 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_detect_git +++ b/Functions/VCS_Info/Backends/VCS_INFO_detect_git @@ -6,8 +6,7 @@ setopt localoptions NO_shwordsplit [[ $1 == '--flavours' ]] && { print -l git-p4 git-svn; return 0 } -if VCS_INFO_check_com ${vcs_comm[cmd]} && ${vcs_comm[cmd]} rev-parse --is-inside-work-tree &> /dev/null ; then - vcs_comm[gitdir]="$(${vcs_comm[cmd]} rev-parse --git-dir 2> /dev/null)" || return 1 +if VCS_INFO_check_com ${vcs_comm[cmd]} && vcs_comm[gitdir]="$(${vcs_comm[cmd]} rev-parse --git-dir 2> /dev/null)" ; then 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 |