about summary refs log tree commit diff
path: root/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2018-10-07 17:46:40 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2018-10-08 13:41:41 +0000
commita05533e425ebb36044680f403666dab7bc26a075 (patch)
tree144d294e6c989465c5272a3776d62ee8fc7977db /Functions/VCS_Info/Backends/VCS_INFO_get_data_git
parentc4144bc95b26c41e7c45c5185112f87f9145d94f (diff)
downloadzsh-a05533e425ebb36044680f403666dab7bc26a075.tar.gz
zsh-a05533e425ebb36044680f403666dab7bc26a075.tar.xz
zsh-a05533e425ebb36044680f403666dab7bc26a075.zip
43618: vcs_info: Don't redefine helper functions on every execution of the autoloadable outer function.
This allows enabling tracing of the helper functions without fned'ing
the outer function.
Diffstat (limited to 'Functions/VCS_Info/Backends/VCS_INFO_get_data_git')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_git3
1 files changed, 3 insertions, 0 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
index 04d15bb4a..0050f613a 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
@@ -8,6 +8,7 @@ local -i querystaged queryunstaged
 local -a git_patches_applied git_patches_unapplied
 local -A hook_com
 
+(( ${+functions[VCS_INFO_git_getaction]} )) ||
 VCS_INFO_git_getaction () {
     local gitdir=$1
     local tmp
@@ -70,6 +71,7 @@ VCS_INFO_git_getaction () {
     return 1
 }
 
+(( ${+functions[VCS_INFO_git_getbranch]} )) ||
 VCS_INFO_git_getbranch () {
     local gitdir=$1 tmp actiondir
     local gitsymref="${vcs_comm[cmd]} symbolic-ref HEAD"
@@ -118,6 +120,7 @@ VCS_INFO_git_getbranch () {
     return 0
 }
 
+(( ${+functions[VCS_INFO_git_handle_patches]} )) ||
 VCS_INFO_git_handle_patches () {
     local git_applied_s git_unapplied_s gitmsg
     git_patches_applied=(${(Oa)git_patches_applied})