X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=5db184d226e4a472625ca04f04a2fb2df53ec780;hp=317f775987a00e72d69c1096dfe1240960e72725;hb=84c897e857cb94ab75672ba9e295ca0ff47cc713;hpb=c445176a3613c07bc72409310bc638a9aa62fd7b diff --git a/all b/all index 317f7759..5db184d2 100755 --- a/all +++ b/all @@ -111,14 +111,14 @@ enter() repos_urls=" . | | master | data/xonotic-data.pk3dir | | master | -data/xonotic-maps.pk3dir | | master | data/xonotic-music.pk3dir | | master | data/xonotic-nexcompat.pk3dir | | master | no -mediasource | | master | no darkplaces | | div0-stable | svn -fteqcc | git://github.com/Blub/qclib.git | master | -div0-gittools | | master | no netradiant | | master | +div0-gittools | | master | no +data/xonotic-maps.pk3dir | | master | +mediasource | | master | no +fteqcc | git://github.com/Blub/qclib.git | master | " # todo: in darkplaces, change repobranch to div0-stable @@ -438,26 +438,15 @@ case "$cmd" in branches) for d in $repos; do cd "$d0/$d" # am in a pipe, shouldn't use enter - git branch -a -v -v | cut -c 3- | sed "s/^(no branch)/(no_branch)/" | sed "s,^,$d ," + git branch -r -v -v | cut -c 3- | sed "s/^(no branch)/(no_branch)/" | sed "s,^,$d ," cd "$d0" done | { branches_list= # branches_repos_*= - while read -r d BRANCH REV UPSTREAM TEXT; do + while read -r d BRANCH REV TEXT; do if [ x"$BRANCH" = x"`repobranch "$d"`" ]; then continue fi - case "$UPSTREAM" in - \[*) - UPSTREAM=${UPSTREAM#\[} - UPSTREAM=${UPSTREAM%\]} - UPSTREAM=${UPSTREAM%:*} - ;; - *) - TEXT="$UPSTREAM $TEXT" - UPSTREAM= - ;; - esac if [ x"$REV" = x"->" ]; then continue fi @@ -465,14 +454,7 @@ case "$cmd" in ID=`echo "$BRANCH" | tr -c "A-Za-z0-9." "_"` branches_list="$branches_list $BRANCH" # TEH SORT MAKEZ IT UNIEQ eval "r=\$branches_repos_$ID" - case "$UPSTREAM" in - '') - r="$r $d" - ;; - *) - r="$r $d:$UPSTREAM" - ;; - esac + r="$r $d" eval "branches_repos_$ID=\$r" done echo -n "$branches_list" | xargs -n 1 echo | sort -u | while IFS= read -r BRANCH; do @@ -686,6 +668,8 @@ case "$cmd" in if [ -n "$USE_GDB" ]; then set -- gdb --args "$@" + elif which catchsegv >/dev/null 2>&1; then + set -- catchsegv "$@" fi "$@" ;; @@ -851,7 +835,7 @@ case "$cmd" in GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Merge failed:$LF`cat "$t"`" "$ref" reportdo4 cat "$t" reportecho4 "--> merge failed" - elif ! "$SELF" compile -n 2>&1 | tee "$t"; then + elif ! "$SELF" compile 2>&1 | tee "$t"; then git reset --hard "$org" GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Compile failed:$LF`cat "$t"`" "$ref" reportdo4 cat "$t" @@ -912,23 +896,108 @@ case "$cmd" in ;; clean) force=false - if [ x"$1" = x"-f" ]; then - force=true + gotoupstream=false + fetchupstream=false + gotomaster=false + rmuntracked=false + killbranches=false + # usage: + # ./all clean [-m] [-f | -fu | -fU] [-r] [-D] + # ./all clean --reclone + found=false + while :; do + if [ x"$1" = x"--reclone" ]; then + force=true + fetchupstream=true + gotoupstream=true + gotomaster=true + rmuntracked=true + killbranches=true + elif [ x"$1" = x"-f" ]; then + force=true + elif [ x"$1" = x"-u" ]; then + gotoupstream=true + elif [ x"$1" = x"-U" ]; then + gotoupstream=true + fetchupstream=true + elif [ x"$1" = x"-fu" ]; then + force=true + gotoupstream=true + elif [ x"$1" = x"-fU" ]; then + force=true + gotoupstream=true + fetchupstream=true + elif [ x"$1" = x"-m" ]; then + gotomaster=true + elif [ x"$1" = x"-r" ]; then + rmuntracked=true + elif [ x"$1" = x"-D" ]; then + killbranches=true + else + break + fi + found=true + shift + done + if ! $found; then + rmuntracked=true fi for d in $repos; do verbose cd "$d0/$d" - if $force; then + if $gotoupstream; then + if ! $force; then + msg "Must also use -f (delete local changes) when using -u" + exit 1 + fi + if $gotomaster; then + if $fetchupstream; then + verbose git fetch origin + verbose git remote prune origin + fi + verbose git checkout -f "`repobranch "$d"`" + verbose git reset --hard origin/"`repobranch "$d"`" + else + r=`git symbolic-ref HEAD` + r=${r#refs/heads/} + rem=`git config "branch.$r.remote" || echo origin` + bra=`git config "branch.$r.merge" || echo "$r"` + upstream="$rem/${bra#refs/heads/}" + if $fetchupstream; then + verbose git fetch "$rem" + verbose git remote prune "$rem" + fi + if ! git rev-parse "$upstream" >/dev/null 2>&1; then + upstream="origin/`repobranch "$d"`" + fi + verbose git reset --hard "$upstream" + fi + elif $gotomaster; then + if $force; then + verbose git checkout -f "`repobranch "$d"`" + verbose git reset --hard + else + verbose git checkout "`repobranch "$d"`" + fi + elif $force; then verbose git reset --hard - #redundant# verbose git checkout-index -fa fi - case "$d" in - .) - verbose git clean -df - ;; - *) - verbose git clean -xdf - ;; - esac + if $rmuntracked; then + case "$d" in + .) + verbose git clean -df + ;; + *) + verbose git clean -xdf + ;; + esac + fi + if $killbranches; then + git for-each-ref --format='%(refname)' refs/heads/ | while IFS= read -r B; do + if [ x"$B" != x"`git symbolic-ref HEAD`" ]; then + verbose git branch -D "${B#refs/heads/}" + fi + done + fi done ;; @@ -1052,38 +1121,36 @@ case "$cmd" in verbose "$SELF" release-compile-run "$host" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "Xonotic/source/darkplaces" "$d0/misc/builddeps/dp.$suffix" "$darkplaces_files" ;; release-engine-win32) - # TODO change to g++ and D3D=1 when D3D gets added verbose "$SELF" release-compile win32 \ 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=0' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \ + '' '' + verbose "$SELF" release-compile win32 \ + 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=0' \ + '' '' \ release 'darkplaces.exe:Xonotic/xonotic.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated.exe' ;; release-engine-win64) - # TODO change to g++ and D3D=1 when D3D gets added verbose "$SELF" release-compile win64 \ 'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc-x64.exe' \ - 'sv-release cl-release' 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated-x64.exe' - # release 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl-x64.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated-x64.exe' + 'sv-release sdl-release' 'darkplaces-sdl.exe:Xonotic/xonotic-x64-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-x64-dedicated.exe' + verbose "$SELF" release-compile win64 \ + 'STRIP=: DP_MAKE_TARGET=mingw CC="x86_64-w64-mingw32-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="x86_64-w64-mingw32-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \ + '' '' \ + cl-release 'darkplaces.exe:Xonotic/xonotic-x64.exe' ;; - release-engine-osx-sv-sdl) + release-engine-osx) # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed verbose "$SELF" release-compile osx \ 'STRIP=: CC="gcc -g -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks"' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.osx' \ 'sv-release sdl-release' 'darkplaces-sdl:Xonotic/Xonotic-SDL.app/Contents/MacOS/xonotic-osx-sdl-bin darkplaces-dedicated:Xonotic/xonotic-osx-dedicated' - ;; - release-engine-osx-agl) - # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed verbose "$SELF" release-compile osx \ 'STRIP=: CC="gcc -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks"' \ '' '' \ 'cl-release' 'darkplaces-agl:Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-agl-bin' ;; - release-engine-osx) - verbose "$SELF" release-engine-osx-sv-sdl - verbose "$SELF" release-engine-osx-agl - ;; release-engine-linux32) verbose "$SELF" release-compile linux32 \ 'STRIP=: CC="gcc -m32 -g -I.deps/include -L.deps/lib" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \ @@ -1277,10 +1344,12 @@ case "$cmd" in Xonotic/bin64/*.dll \ Xonotic/*.app \ Xonotic/xonotic-* \ - Xonotic/xonotic.exe + Xonotic/xonotic.exe \ + Xonotic/source/darkplaces/ verbose cp Xonotic-$stamp-engine.zip Xonotic-$stamp-common.zip verbose mkzip Xonotic-$stamp-common.zip \ - Xonotic/source/*/ \ + Xonotic/source/fteqcc/ \ + Xonotic/source/qcsrc/ \ Xonotic/Docs \ Xonotic/misc \ Xonotic/fteqcc \ @@ -1320,15 +1389,24 @@ case "$cmd" in *) echo "Usage:" - echo " $SELF pull" - echo " $SELF merge" - echo " $SELF push [-s]" + echo " $SELF admin-merge []" + echo " $SELF branch " + echo " $SELF branch []" echo " $SELF branches" - echo " $SELF branch [] " - echo " $SELF branch " - echo " $SELF checkout [] " - echo " $SELF compile [-c|-n] [] " - echo " $SELF run [] " - echo " $SELF each " + echo " $SELF checkout|switch " + echo " $SELF checkout|switch /" + echo " $SELF clean [-m] [-f | -fu | -fU] [-r] [-D]" + echo " $SELF clean --reclone" + echo " $SELF compile [-c]" + echo " $SELF each|foreach [-k] command..." + echo " $SELF fix_upstream_rebase" + echo " $SELF merge" + echo " $SELF push|commit [-s]" + echo " $SELF release" + echo " $SELF restore-patches" + echo " $SELF run [sdl|glx|wgl|agl|dedicated] options..." + echo " $SELF save-patches" + echo " $SELF update-maps" + echo " $SELF update|pull [-N]" ;; esac