]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - all
fix
[xonotic/xonotic.git] / all
diff --git a/all b/all
index 9e4dd0dc5043882a168f9cd3032e2dc948cfbf14..1b29784dc4e9e5d8f22276ddf534a92b5ac516e9 100755 (executable)
--- a/all
+++ b/all
@@ -395,7 +395,7 @@ bestmirror()
                if t=`mirrorspeed "$m"`; then
                        if [ -n "$t" ]; then
                                tt=$(($t$op)) # fudge factor
-                               msg "$m -> $t$op=$tt ticks"
+                               msg "$m -> $t$op = $tt ticks"
                                if [ -z "$bestt" ] || [ "$tt" -lt "$bestt" ]; then
                                        bestin=$in
                                        bestt=$tt
@@ -536,8 +536,23 @@ case "$cmd" in
                        fi
                        shift
                done
+               case "$location" in
+                       current)
+                               if [ x"`git config xonotic.all.mirrorselection 2>/dev/null || true`" != x"done" ]; then
+                                       git config xonotic.all.mirrorselection done
+                                       location=best
+                               fi
+                               ;;
+               esac
                case "$location" in
                        best)
+                               # if we fetched via ssh://, switch to git:// for fetching and keep using ssh:// for pushing
+                               case "$base" in
+                                       ssh://*)
+                                               pushbase=$base
+                                               base=git://git.xonotic.org/xonotic/
+                                               ;;
+                               esac
                                newbase=`$ECHO "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,:// .git.xonotic.org/,"`
                                case "$newbase" in
                                        *\ *)