summaryrefslogtreecommitdiff
path: root/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh
blob: 0bcefa9312fbcc0d20737ccb53a1b2533e5ae54f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function git_fetch_on_chpwd {
  ([[ -d .git ]] && [[ ! -f ".git/NO_AUTO_FETCH" ]] && git fetch --all &>! .git/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
}
chpwd_functions+=(git_fetch_on_chpwd)
git_fetch_on_chpwd
unset git_fetch_on_chpwd