From bf2e9b53e4e7022111d4be00bf015e1799bf172d Mon Sep 17 00:00:00 2001 From: Edelwin Khaelos Date: Sat, 26 Apr 2014 19:46:35 +0200 Subject: [PATCH] added the functions gpull and gpush --- plugins/git/git.plugin.zsh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 9f7819df3..c527c1006 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -119,6 +119,44 @@ function current_repository() { echo $(git remote -v | cut -d':' -f 2) } +# +# Massive listing of all the git repositories. +# You should run that from your coding repo, such as ~/code. +# + +gpull() +{ + find -type d -name ".git" > ~/repos.list + cd ~/ + for f in $( < repos.list); + do + cd $(dirname ${f}) + echo "[+] $(pwd) [+]" + git pull + cd ~/ + done + +} + +# +# This function takes the input from a file +# created by a command like $(find -type d -name ".git" > ~/myrepos) +# + +gpush() +{ + cd ~/ + [[ -f myrepos ]] || echo -e "warning, you seem to have forgotten to create your list.\n Please run (find -type d -name ".git" > ~/myrepos) and edit your file by hand to select your repos." + for f in $( < myrepos); + do + cd $(dirname ${f}) + echo "[+] $(pwd) [+]" + git push + cd ~/code/ + done +} + + # these aliases take advantage of the previous function alias ggpull='git pull origin $(current_branch)' compdef ggpull=git