Meta/pushall: iterate and retry
Junio C Hamano committed
Dec 20, 2013 at 15:01 UTC
f93a65c60140ccf96f550dd60fafdfa1ba1d8ca9
1 file changed
+19
-4
pushall
+19
-4
@@ -1,10 +1,25 @@
1
#!/bin/sh
2
3
-# for remote in ko repo gph github2 sfjp sf.net
4
-for remote in ko repo gph github2 sfjp sf.net
3
+sites='ko repo github2 sfjp sf.net gph '
4
+
5
+while :
6
do
6
- printf "%s: " "$remote"
7
- git push --follow-tags "$remote" "$@" || exit $?
7
+ failed=
8
+ for remote in $sites
9
+ do
10
+ printf "%s: " "$remote"
11
+ git push --follow-tags "$remote" "$@" || failed="$failed$remote "
12
+ done
13
+
14
+ if test -z "$failed"
15
+ then
16
+ break
17
+ elif test "x$sites" = "x$failed"
18
+ then
19
+ echo >&2 "Failed to push to: $sites"
20
+ exit 1
21
+ fi
22
+ sites="$failed"
23
done
24
25
case "$#,$*" in