Add git-sync command to fetch from a list of repos
This commit is contained in:
parent
d5ae3dbfc8
commit
383e890cf6
23
git-sync
Executable file
23
git-sync
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
autoload -U colors && colors
|
||||||
|
|
||||||
|
git_sync=${GIT_SYNC:-~/.config/git-sync}
|
||||||
|
|
||||||
|
if [ ! -f "$git_sync" ]; then
|
||||||
|
echo "$fg[yellow]warning:${reset_color} sync list does not exist: $git_sync"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
local repos=($(cat $git_sync))
|
||||||
|
if [ ${#repos[@]} = 0 ]; then
|
||||||
|
echo "$fg[yellow]warning:${reset_color} sync list is empty: $git_sync"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
for repo in $repos; do
|
||||||
|
print -P "$fg[cyan]synchronizing: $repo${reset_color}"
|
||||||
|
repo="${repo/#\~/$HOME}"
|
||||||
|
git -C "$repo" fetch -a
|
||||||
|
done
|
@ -27,3 +27,5 @@
|
|||||||
dest: ~/.gitconfig
|
dest: ~/.gitconfig
|
||||||
- src: ~/.config/git/_git-changes
|
- src: ~/.config/git/_git-changes
|
||||||
dest: ~/.local/share/zsh/site-functions/_git-changes
|
dest: ~/.local/share/zsh/site-functions/_git-changes
|
||||||
|
- src: ~/.config/git/git-sync
|
||||||
|
dest: ~/.local/bin/git-sync
|
||||||
|
Loading…
x
Reference in New Issue
Block a user