#!/bin/sh sites='ko repo github2 sfjp sf.net gph ' while : do failed= for remote in $sites do printf "%s: " "$remote" git push --follow-tags "$remote" "$@" || failed="$failed$remote " done if test -z "$failed" then break elif test "x$sites" = "x$failed" then echo >&2 "Failed to push to: $sites" exit 1 fi sites="$failed" done case "$#,$*" in 0,* | 1,-n) printf "github mirror: " git push github "$@" || exit $? for topic in htmldocs manpages do printf "%s: " "$topic" ( cd ../git-$topic.git && git push "$@") || exit done ;; esac