parent
1427fbffef
commit
25fcf0c265
2 changed files with 33 additions and 1 deletions
@ -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 |
||||
``` |
||||
@ -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 |
||||
|
||||
Loading…
Reference in new issue