diff options
| author | slavaGanzin <slava.ganzin@gmail.com> | 2016-10-04 21:26:19 +0300 | 
|---|---|---|
| committer | slavaGanzin <slava.ganzin@gmail.com> | 2016-10-04 21:34:29 +0300 | 
| commit | 25fcf0c265c682f092ce49a6849e5e09b38dffa9 (patch) | |
| tree | 604acebaefd0dbca9b3a4c15c622c93e8d33cdf2 /plugins/git-auto-fetch | |
| parent | 1427fbffef68d5796c8296ba105f325598b809f8 (diff) | |
| download | zsh-25fcf0c265c682f092ce49a6849e5e09b38dffa9.tar.gz zsh-25fcf0c265c682f092ce49a6849e5e09b38dffa9.tar.bz2 zsh-25fcf0c265c682f092ce49a6849e5e09b38dffa9.zip | |
git-auto-fetch: README.md
Diffstat (limited to 'plugins/git-auto-fetch')
| -rw-r--r-- | plugins/git-auto-fetch/README.md | 22 | ||||
| -rw-r--r-- | plugins/git-auto-fetch/git-auto-fetch.plugin.zsh | 12 | 
2 files changed, 33 insertions, 1 deletions
| diff --git a/plugins/git-auto-fetch/README.md b/plugins/git-auto-fetch/README.md new file mode 100644 index 000000000..7f5eac49d --- /dev/null +++ b/plugins/git-auto-fetch/README.md @@ -0,0 +1,22 @@ +# Git auto fetch + +Automatically fetches all changes from all remotes every time you cd into yout git-initialized project. + +####Usage +Add ```git-auto-fetch``` to the plugins array in your zshrc file: +```shell +plugins=(... git-auto-fetch) +``` + +Every time you change directory to your git project all remotes will be fetched in background. Log of ```git fetch --all``` will be saved into .git/FETCH_LOG + +####Toggle auto fetch per folder +If you are using mobile connection or for any other reason you can disable git-auto-fetch for any folder: + +```shell +$ cd to/your/project +$ git-auto-fetch +disabled +$ git-auto-fetch +enabled +``` diff --git a/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh b/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh index cbf6984a0..87535b251 100644 --- a/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh +++ b/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh @@ -1,5 +1,15 @@  function git_fetch_on_chpwd { -  ([[ -d .git ]] && git fetch --all &>! ./.git/FETCH_LOG &) +  ([[ -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 "disabled" +  else +    touch ".git/NO_AUTO_FETCH" && echo "enabled" +  fi  }  chpwd_functions+=(git_fetch_on_chpwd)  git_fetch_on_chpwd +unset git_fetch_on_chpwd | 
