From bf982162dd9b00c7506799ef97c3fc690139cd29 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto 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