git-auto-fetch: README.md

This commit is contained in:
slavaGanzin 2016-10-04 21:26:19 +03:00
parent 1427fbffef
commit 25fcf0c265
2 changed files with 33 additions and 1 deletions

View File

@ -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
```

View File

@ -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