summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/git-auto-fetch/git-auto-fetch.plugin.zsh27
1 files changed, 16 insertions, 11 deletions
diff --git a/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh b/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh
index 0bcefa931..949709e4c 100644
--- a/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh
+++ b/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh
@@ -1,15 +1,20 @@
-function git_fetch_on_chpwd {
- ([[ -d .git ]] && [[ ! -f ".git/NO_AUTO_FETCH" ]] && git fetch --all &>! .git/FETCH_LOG &)
+function git-fetch-on-chpwd {
+ (`git rev-parse --is-inside-work-tree 2>/dev/null` &&
+ dir=`git rev-parse --git-dir` &&
+ [[ ! -f $dir/NO_AUTO_FETCH ]] &&
+ git fetch --all &>! $dir/FETCH_LOG &)
}
function git-auto-fetch {
- [[ ! -d .git ]] && return
- if [[ -f ".git/NO_AUTO_FETCH" ]]; then
- rm ".git/NO_AUTO_FETCH" && echo "${fg_bold[red]}disabled${reset_color}"
- else
- touch ".git/NO_AUTO_FETCH" && echo "${fg_bold[green]}enabled${reset_color}"
- fi
+ `git rev-parse --is-inside-work-tree 2>/dev/null` || return
+ guard="`git rev-parse --git-dir`/NO_AUTO_FETCH"
+
+ (rm $guard 2>/dev/null &&
+ echo "${fg_bold[green]}enabled${reset_color}") ||
+ (touch $guard &&
+ echo "${fg_bold[red]}disabled${reset_color}")
}
-chpwd_functions+=(git_fetch_on_chpwd)
-git_fetch_on_chpwd
-unset git_fetch_on_chpwd
+
+chpwd_functions+=(git-fetch-on-chpwd)
+git-fetch-on-chpwd
+unset git-fetch-on-chpwd