From: Rudolf Polzer Date: Thu, 5 Aug 2010 03:47:06 +0000 (+0200) Subject: Merge branch 'master' into divVerent/crypto2 X-Git-Tag: xonotic-v0.1.0preview~125^2~77 X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=commitdiff_plain;h=c21069392b64a9ccef84ef165bcda9f0627f6c25;hp=438729082372093824eb8f33f33d006540d2713e Merge branch 'master' into divVerent/crypto2 --- diff --git a/all b/all index 8f34fdc9..2f8a5382 100755 --- a/all +++ b/all @@ -117,7 +117,7 @@ data/xonotic-nexcompat.pk3dir | mediasource | | master | darkplaces | | div0-stable | svn fteqcc | git://github.com/Blub/qclib.git | master | -div0-gittools | git://git.icculus.org/divverent/div0-gittools.git | master | +div0-gittools | | master | netradiant | | master | d0_blind_id | http://github.com/divVerent/d0_blind_id.git | master | " @@ -185,7 +185,58 @@ fi cmd=$1 shift +fix_upstream_rebase() +{ + if [ -z "$r_me" ] || [ -z "$r_other" ]; then + return + fi + r_base=`git merge-base "$r_me" "$r_other"` + + # no merge-base? upstream did filter-branch + if [ -n "$r_base" ]; then + # otherwise, check if the two histories are "similar" + r_l_me=`git log --pretty="format:%s" "$r_other".."$r_me" | grep -v "^Merge" | sort -u` + r_l_other=`git log --pretty="format:%s" "$r_me".."$r_other" | grep -v "^Merge" | sort -u` + + # heuristics: upstream rebase/filter-branch if more than 50% of the commits of one of the sides are in the other too + r_lc_me=`echo "$r_l_me" | wc -l` + r_lc_other=`echo "$r_l_other" | wc -l` + r_lc_together=`{ echo "$r_l_me"; echo "$r_l_other"; } | sort -u | wc -l` + r_lc_same=$(($r_lc_me + $r_lc_other - $r_lc_together)) + + if [ $(( $r_lc_same * 2 )) -gt $(( $r_lc_me )) ] || [ $(( $r_lc_same * 2 )) -gt $(( $r_lc_other )) ]; then + if yesno "Probable upstream rebase detected, automatically fix?" 'git log --oneline --graph --date-order --left-right "$r_other"..."$r_me"'; then + git reset --hard "$r_me" + git pull --rebase + return 1 + fi + fi + fi + + return 0 +} + +fix_upstream_rebase_mergeok() +{ + r_me=`git rev-parse --revs-only HEAD^1 2>/dev/null || true` + r_other=`git rev-parse --revs-only HEAD^2 2>/dev/null || true` + fix_upstream_rebase +} + +fix_upstream_rebase_mergefail() +{ + r_me=`git rev-parse --revs-only HEAD 2>/dev/null || true` + r_other=`git rev-parse --revs-only MERGE_HEAD 2>/dev/null || true` + fix_upstream_rebase +} + case "$cmd" in + fix_upstream_rebase) + for d in $repos; do + enter "$d0/$d" verbose + verbose fix_upstream_rebase_mergefail && verbose fix_upstream_rebase_mergeok + done + ;; update|pull) allow_pull=true if [ x"$1" = x"-N" ]; then @@ -206,9 +257,12 @@ case "$cmd" in r=${r#refs/heads/} if git config branch.$r.remote >/dev/null 2>&1; then if ! verbose git pull; then + fix_upstream_rebase_mergefail || true check_mergeconflict "$d" echo "Pulling failed. Press ENTER to continue, or Ctrl-C to abort." read -r DUMMY + else + fix_upstream_rebase_mergeok || true fi fi @@ -823,11 +877,15 @@ case "$cmd" in #"$SELF" each git clean -fxd rm -rf Xonotic mkdir -p Xonotic - git archive --format=tar HEAD -- Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh | { + git archive --format=tar HEAD -- Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh misc/buildfiles | { cd Xonotic mkdir data fteqcc tar xvf - - rm -rf misc/builddeps misc/buildfiles + rm -rf misc/builddeps + mv misc/buildfiles/win32/* . + mv misc/buildfiles/win64/* . + mv misc/buildfiles/osx/* . + rm -rf misc/buildfiles } ;; release-compile-run) @@ -837,11 +895,25 @@ case "$cmd" in makeflags=$4 srcdir=$5 targetfiles=$6 - rsync --delete -zvaSHPAX "$srcdir"/ "$host:$buildpath/" - ssh "$host" ". ~/.profile && cd $buildpath && make clean $maketargets $makeflags" - for f in $targetfiles; do - rsync -zvaSHPAX "$host:$buildpath/${f%:*}" "${f##*:}" - done + case " $HOSTS_THAT_ARE_MYSELF " in + *\ $host\ *) + rsync --delete -zvaSHPAX "$srcdir"/ "$buildpath/" + ( + cd $buildpath + eval make clean $maketargets $makeflags + ) + for f in $targetfiles; do + mv "$buildpath/${f%:*}" "${f##*:}" + done + ;; + *) + rsync --delete -zvaSHPAX "$srcdir"/ "$host:$buildpath/" + ssh "$host" ". ~/.profile && cd $buildpath && make clean $maketargets $makeflags" + for f in $targetfiles; do + rsync -zvaSHPAX "$host:$buildpath/${f%:*}" "${f##*:}" + done + ;; + esac ;; release-compile) suffix=$1 @@ -851,24 +923,21 @@ case "$cmd" in darkplaces_maketargets=$5 darkplaces_files=$6 "$SELF" release-compile-run "xonotic-build-$suffix" /tmp/fteqcc.build."$suffix" "$fteqcc_maketargets" "$makeflags" "fteqcc" "$fteqcc_files" - "$SELF" release-compile-run "xonotic-build-$suffix" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "fteqcc" "$darkplaces_files" + "$SELF" release-compile-run "xonotic-build-$suffix" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "darkplaces" "$darkplaces_files" ;; release-engine-win32) - rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/win32/* Xonotic/ "$SELF" release-compile win32 \ '"DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dp.win32/include -L$HOME/dp.win32/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win32/bin/sdl-config"' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \ debug 'darkplaces.exe:xonotic.exe darkplaces-sdl.exe:xonotic-sdl.exe darkplaces-dedicated.exe:xonotic-dedicated.exe' ;; release-engine-win64) - rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/win64/* Xonotic/ - "$SELF" release-compile win32 \ + "$SELF" release-compile win64 \ '"DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dp.win64/include -L$HOME/dp.win64/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win64/bin/sdl-config" LDFLAGS_WINCOMMON=""' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc-64.exe' \ debug 'darkplaces.exe:xonotic-64.exe darkplaces-sdl.exe:xonotic-sdl-64.exe darkplaces-dedicated.exe:xonotic-dedicated-64.exe' ;; release-engine-osx) - rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/osx/* Xonotic/ "$SELF" release-compile osx \ 'CC="gcc -g -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -I$HOME/dp.osx/include -L$HOME/dp.osx/lib"' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.osx' \ @@ -993,6 +1062,7 @@ case "$cmd" in "$SELF" release-qc "$SELF" release-pack ;; + *) echo "Usage:" echo " $SELF pull" diff --git a/misc/tools/WeaponEncounterProfile.pm b/misc/tools/WeaponEncounterProfile.pm index 52766ea1..68acfb23 100644 --- a/misc/tools/WeaponEncounterProfile.pm +++ b/misc/tools/WeaponEncounterProfile.pm @@ -114,6 +114,7 @@ our %WeaponMap = ( 14 => ["Tuba", "tuba"], 15 => ["Camping Rifle", "campingrifle"], 16 => ["Fireball", "fireball"], + 17 => ["Seeker", "seeker"], ); sub weaponid_valid($$) diff --git a/misc/tools/xonotic-map-compiler-autobuild b/misc/tools/xonotic-map-compiler-autobuild index dcce6abc..8f3f4aa0 100755 --- a/misc/tools/xonotic-map-compiler-autobuild +++ b/misc/tools/xonotic-map-compiler-autobuild @@ -180,7 +180,11 @@ case "$1" in ;; download) mkdir -p "$bspdir" "$bspdir.old" - mv "$bspdir"/*-????????????????????????????????????????-????????????????????????????????????????.pk3 "$bspdir.old"/ || true + for b in "$bspdir"/*-????????????????????????????????????????-????????????????????????????????????????.pk3; do + if [ -e "$b" ]; then + mv "$b" "$bspdir.old"/ + fi + done cd data/xonotic-maps.pk3dir allmaps getthemap "$url" "$bspdir.old" "$bspdir" echo "List of maps that got deleted (if any) and currently are in $bspdir.old:"