From: Simon Ruderich Date: Wed, 18 Feb 2009 19:17:37 +0000 (+0100) Subject: sync.sh supports pushing to remotes. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=cceff196de6c42341011c899c58fed880ceb01a1;p=config%2Fdotfiles.git sync.sh supports pushing to remotes. `sync.sh` or `sync.sh fetch` fetches, `sync.sh push` pushes to all remotes. --- diff --git a/sync.sh b/sync.sh index 31084e5..8e4c4fa 100755 --- a/sync.sh +++ b/sync.sh @@ -4,16 +4,26 @@ # hosts. No merging is done. -# Fetch from each remote of each git subdirectory. +# Select the method, fetch and push is possible. +if [ x$1 = x -o x$1 = xfetch ]; then + method=fetch +elif [ x$1 = xpush ]; then + method=push +else + echo "Unsupported method '$1'. Only 'fetch' and 'push' is supported." >&2 + exit 1 +fi + +# Fetch from/Push to each remote of each git subdirectory. for project in `find . -name .git -type d`; do if [ -d "$project" ]; then pwd=`pwd` cd "$project" - # Fetch from all remotes. + # Fetch from/Push to all remotes. for remote in `git remote`; do - echo "$project: fetching $remote ..." - git fetch "$remote" + echo "$project: ${method}ing $remote ..." + git $method "$remote" done cd "$pwd"