From cceff196de6c42341011c899c58fed880ceb01a1 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Wed, 18 Feb 2009 20:17:37 +0100 Subject: [PATCH] sync.sh supports pushing to remotes. `sync.sh` or `sync.sh fetch` fetches, `sync.sh push` pushes to all remotes. --- sync.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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" -- 2.44.1