X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=e750d9ae491067e7956b23ae63c06a613a5b58cd;hp=35f09f9d2e3aa1aa8c73d727c2503a953511b3c9;hb=8734a8fe7d9c610b69e69f529d704aa1db5729a5;hpb=d9f43c2175c35999a30c7f0838f216328da0525b diff --git a/all b/all index 35f09f9d..e750d9ae 100755 --- a/all +++ b/all @@ -339,6 +339,44 @@ mkzip0() zip -0y "$@" } +timewrapper() +{ + time -p "$@" +} + +mirrorspeed() +{ + # first result is to be ignored, but we use it to check status + git ls-remote "$1" refs/heads/master >/dev/null 2>&1 || return 1 + timewrapper git ls-remote "$1" refs/heads/master 2>&1 >/dev/null | head -n 1 | cut -d ' ' -f 2 | tr -d . | sed 's,^0*,,' + # unit: clock ticks (depends on what "time" returns +} + +bestmirror() +{ + pre=$1; shift + suf=$1; shift + + bestin= + bestt= + for in in "$@"; do + m=$pre$in$suf + if t=`mirrorspeed "$m"`; then + msg "$m -> $t ticks" + if [ -n "$t" ]; then + if [ -z "$bestt" ] || [ "$t" -lt "$bestt" ]; then + bestin=$in + bestt=$t + fi + fi + else + msg "$m -> FAIL" + fi + done + msg "Best mirror seems to be $pre$bestin$suf" + echo "$bestin" +} + case "$cmd" in fix_upstream_rebase) for d in $repos; do @@ -438,12 +476,14 @@ case "$cmd" in case "$2" in nl) ;; de) ;; + best) ;; default) ;; *) msg "Invalid location!" msg "Possible locations for the -l option:" msg " nl (Netherlands, run by merlijn)" msg " de (Germany, run by divVerent)" + msg " best (find automatically)" msg " default (currently nl)" exit 1 ;; @@ -471,6 +511,17 @@ case "$cmd" in ;; esac ;; + best) + base=`echo "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,:// .git.xonotic.org/,"` + case "$base" in + *\ *) + location=`bestmirror $base"xonotic.git" de nl` + ;; + *) + location= + ;; + esac + ;; esac if [ -n "$location" ]; then base=`echo "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,://$location.git.xonotic.org/,"` @@ -1046,6 +1097,12 @@ case "$cmd" in reportecho "$o" } for d in $repos; do + case "$d" in + fteqcc) + # sorry, fteqcc repo is managed manually + continue + ;; + esac enter "$d0/$d" verbose base="`repobranch "$d"`" reportecho "In $d:" @@ -1129,6 +1186,11 @@ case "$cmd" in reportecho4 "--> test failed, postponed" fi else + # apply crlf, or other cleanup filters (non-behavioural changes) + git reset --hard + find . -type f -exec touch {} \; + git commit -a --amend -C HEAD || true # don't fail if nothing to commit + echo "MERGING" case ",`repoflags "$d"`," in *,svn,*) @@ -1210,8 +1272,21 @@ case "$cmd" in rmuntracked=true elif [ x"$X" = x"-D" ]; then killbranches=true + elif echo "$X" | grep '^-FFFF*UUUU*$' >/dev/null; then + msg '' + msg ' _____' + msg ' ,--'\''-\\P/`\\ FFFFFFF' + msg ' __/_ B/,-.\\ FFFFFFF' + msg ' / _\\ (// O\\\\ FFFFFF' + msg '| (O `) _\\._ _)\\ FFFUU' + msg '| |___/.^d0~~"\\ \\ UUUU' + msg '| |`~'\'' \\ | UUUU' + msg '| | __,C>|| UUUU' + msg '\\ /_ ,-/,-'\'' | UUUU' + msg ' \\\\_ \\_>~'\'' / UUUU-' + msg '' else - break + msg "Unknown arg: $X" fi found=true shift @@ -1534,7 +1609,7 @@ case "$cmd" in # music: reduce bitrate verbose export do_jpeg=true verbose export jpeg_qual_rgb=80 - verbose export jpeg_qual_a=99 + verbose export jpeg_qual_a=97 verbose export do_dds=false verbose export do_ogg=true verbose export ogg_qual=1