From bf982162dd9b00c7506799ef97c3fc690139cd29 Mon Sep 17 00:00:00 2001
From: Silvio Rhatto <rhatto@riseup.net>
Date: Thu, 23 Nov 2017 12:38:55 -0200
Subject: Adds git-remote-all

---
 git-remote-all | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100755 git-remote-all

diff --git a/git-remote-all b/git-remote-all
new file mode 100755
index 0000000..496cc21
--- /dev/null
+++ b/git-remote-all
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Automate handling of the 'all' remote.
+#
+# See github - Git - Pushing code to two remotes - Stack Overflow -
+# https://stackoverflow.com/questions/14290113/git-pushing-code-to-two-remotes#14290145
+
+# Parameters
+BASENAME="`basename $0`"
+
+# Usage
+if [ -z "$1" ]; then
+  echo "usage: $BASENAME remote1 [remote2 ...]"
+fi
+
+# Process each remote
+for remote in $*; do
+  # Skip inexistent remotes
+  if ! git remote get-url $remote &> /dev/null; then
+    echo "Remote $remote does not exist, skipping..."
+    continue
+  fi
+
+  # Skip itself
+  if [ "$remote" == "all" ]; then
+    echo "Skipping remote 'all'..."
+    continue
+  fi
+
+  # Get remote push URL
+  url="`git remote get-url --push $remote`"
+
+  echo "Adding $url as a pushurl for remote 'all'..."
+
+  # Add current remote as a push URL for remote 'all'
+  if ! git remote get-url --push all &> /dev/null; then
+    git remote add all $url
+  else
+    git remote set-url --add --push all $url
+  fi
+done
-- 
cgit v1.2.3