]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - sync.sh
Update doc for sync.sh.
[config/dotfiles.git] / sync.sh
diff --git a/sync.sh b/sync.sh
index 31084e59fc5b3c4beba68503ad88c42dd7f3ba13..a3deab5d6653a4251f9552de1e4ac9cc38c68e5c 100755 (executable)
--- a/sync.sh
+++ b/sync.sh
@@ -1,19 +1,30 @@
 #!/bin/sh
 
-# Fetches the current master from all remotes. Used to sync with all remote
-# hosts. No merging is done.
+# Syncs with remote hosts in the git (sub)directories.
+#
+# Allows fetching (no merge) and pushing at the moment.
 
 
-# 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"