X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=c912afa02533670096b8e41374c105e2bb3a738f;hp=d022eb0d31b0801ffdf9c0ba4f07936e1b40769e;hb=38e1d23580939fac0f4b1ad56abc79e169e694a6;hpb=e2c342030c7919f2d5f434592bf7e0ef6e436139 diff --git a/all b/all index d022eb0d..c912afa0 100755 --- a/all +++ b/all @@ -269,6 +269,19 @@ fix_upstream_rebase() if [ -z "$r_me" ] || [ -z "$r_other" ]; then return fi + + # one of the two sides of the merge should be remote upstream, or all is fine + r_r=`git symbolic-ref HEAD` + r_r=${r_r#refs/heads/} + r_rem=`git config "branch.$r_rem.remote" || $ECHO origin` + r_bra=`git config "branch.$r_bra.merge" || $ECHO "$r_r"` + r_bra=${r_bra#refs/heads/} + if [ x"$r_me" != x"`git rev-parse "$r_rem/$r_bra"`" ]; then + if [ x"$r_other" != x"`git rev-parse "$r_rem/$r_bra"`" ]; then + return + fi + fi + r_base=`git merge-base "$r_me" "$r_other"` # no merge-base? upstream did filter-branch @@ -368,15 +381,28 @@ bestmirror() bestin= bestt= - for in in "$@"; do + for mir in "$@"; do + case "$mir" in + *:*) + in=${mir%%:*} + op=${mir#*:} + ;; + *) + in=$mir + op= + ;; + esac m=$pre$in$suf if t=`mirrorspeed "$m"`; then - msg "$m -> $t ticks" if [ -n "$t" ]; then - if [ -z "$bestt" ] || [ "$t" -lt "$bestt" ]; then + tt=$(($t$op)) # fudge factor + msg "$m -> $t$op = $tt ticks" + if [ -z "$bestt" ] || [ "$tt" -lt "$bestt" ]; then bestin=$in - bestt=$t + bestt=$tt fi + else + msg "$m -> error" fi else msg "$m -> FAIL" @@ -489,6 +515,7 @@ case "$cmd" in case "$2" in nl) ;; de) ;; + us) ;; best) ;; default) ;; *) @@ -496,6 +523,7 @@ case "$cmd" in msg "Possible locations for the -l option:" msg " nl (Netherlands, run by merlijn)" msg " de (Germany, run by divVerent)" + msg " us (United States of America, run by detrate)" msg " best (find automatically)" msg " default (currently nl)" exit 1 @@ -509,12 +537,27 @@ 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 *\ *) - if location=`bestmirror $newbase"xonotic.git" de nl`; then + if location=`bestmirror $newbase"xonotic.git" de us nl:'*6/5'`; then # 20% malus to the NL server to not overload it too much : else location=current @@ -892,20 +935,23 @@ case "$cmd" in mkdir -p .libs if [ -n "$WE_HATE_OUR_USERS" ]; then verbose cp "$d0/misc/buildfiles/win32/libd0_blind_id"-* .libs/ + verbose cp "$d0/misc/buildfiles/win32/libd0_rijndael"-* .libs/ verbose cp "$d0/misc/buildfiles/win32/libgmp"-* .libs/ else case "`uname`" in Linux) case `uname -m` in x86_64) - verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_blind_id".* .libs/ - verbose cp "$d0/misc/builddeps/dp.linux64/lib/libgmp".* .libs/ - MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/" + #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_blind_id".* .libs/ + #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_rijndael".* .libs/ + #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libgmp".* .libs/ + MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/" ;; *86) - verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_blind_id".* .libs/ - verbose cp "$d0/misc/builddeps/dp.linux32/lib/libgmp".* .libs/ - MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/" + #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_blind_id".* .libs/ + #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_rijndael".* .libs/ + #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libgmp".* .libs/ + MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/" ;; *) compiled0=true @@ -914,6 +960,7 @@ case "$cmd" in ;; Darwin) verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_blind_id".* .libs/ + verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_rijndael".* .libs/ ;; *) compiled0=true @@ -1006,9 +1053,9 @@ case "$cmd" in binary=$1 - if [ -n "$USE_GDB" ]; then + if [ x"$USE_GDB" = x"yes" ]; then set -- gdb --args "$@" - elif which gdb >/dev/null 2>&1; then + elif [ x"$USE_GDB" != x"no" ] && which gdb >/dev/null 2>&1; then set -- gdb --batch -x savecore.gdb --args "$@" elif which catchsegv >/dev/null 2>&1; then set -- catchsegv "$@" @@ -1026,6 +1073,7 @@ case "$cmd" in $ECHO "The core dump can be examined later by" $ECHO " gdb $binary xonotic.core" fi + exit 1 fi ;; each|foreach) @@ -1365,10 +1413,10 @@ case "$cmd" in if $rmuntracked; then case "$d" in .) - verbose git clean -df + verbose git clean -df || true ;; *) - verbose git clean -xdf + verbose git clean -xdf || true ;; esac fi @@ -1378,8 +1426,8 @@ case "$cmd" in verbose git branch -D "${B#refs/heads/}" fi done - git rev-parse refs/heads/master >/dev/null 2>&1 || verbose git branch -t master origin/master || true - git rev-parse "refs/heads/`repobranch "$d"`" >/dev/null 2>&1 || verbose git branch -t "`repobranch "$d"`" origin/"`repobranch "$d"`" || true + git rev-parse refs/heads/master >/dev/null 2>&1 || verbose git branch --track master origin/master || true + git rev-parse "refs/heads/`repobranch "$d"`" >/dev/null 2>&1 || verbose git branch --track "`repobranch "$d"`" origin/"`repobranch "$d"`" || true fi checkself "$cmd" "$@" done