]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - all
Merge branch 'master' of ssh://git.xonotic.org/xonotic
[xonotic/xonotic.git] / all
diff --git a/all b/all
index 60bb471e380ad244f7dd65ffbad1ec31fa41a0b1..b88931b4813bc5fb03d40b3ef268cb36014e1c2a 100755 (executable)
--- a/all
+++ b/all
@@ -213,10 +213,6 @@ case "$cmd" in
                                        enter "$d0/$d" verbose
                                        verbose git config remote.origin.url "$url"
                                        verbose git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
-                                               # TODO remove this line later
-
-                                       verbose git config core.autocrlf false
-                                       verbose git config core.safecrlf false # we don't NEED that...
 
                                        r=`git symbolic-ref HEAD`
                                        r=${r#refs/heads/}
@@ -237,7 +233,9 @@ case "$cmd" in
                        else
                                verbose git clone "$url" "$d0/$d"
                                enter "$d0/$d" verbose
-                               verbose git checkout "$branch"
+                               if [ "$branch" != "master" ]; then
+                                       verbose git checkout --track -b "$branch" origin/"$branch"
+                               fi
                                cd "$d0"
                        fi
                done
@@ -252,19 +250,25 @@ case "$cmd" in
                exists=false
                for d in $repos; do
                        enter "$d0/$d" verbose
-                       if [ -z "$branch" ]; then
-                               b=`repobranch "$d"`
-                       else
-                               b=$branch
-                       fi
-                       if git rev-parse "refs/heads/$b" >/dev/null 2>&1; then
+                       b=$branch
+                       if [ -n "$b" ] && git rev-parse "refs/heads/$b" >/dev/null 2>&1; then
                                exists=true
                                verbose git checkout "$b"
-                       elif git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then
+                       elif [ -n "$b" ] && git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then
                                exists=true
                                verbose git checkout --track -b "$b" "$remote/$b"
                        else
-                               verbose git checkout "`repobranch "$d"`"
+                               b=`repobranch "$d"`
+                               if git rev-parse "refs/heads/$b" >/dev/null 2>&1; then
+                                       exists=true
+                                       verbose git checkout "$b"
+                               elif git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then
+                                       exists=true
+                                       verbose git checkout --track -b "$b" "$remote/$b"
+                               else
+                                       echo "WTF? Not even branch $b doesn't exist in $d"
+                                       exit 1
+                               fi
                        fi
                        cd "$d00"
                        checkself "$cmd" "$@"
@@ -437,6 +441,12 @@ case "$cmd" in
        compile)
                if [ -n "$WE_HATE_OUR_USERS" ]; then
                        TARGETS="sv-debug cl-debug"
+                       if [ -z "$CC" ]; then
+                               export CC=gcc
+                       fi
+               elif [ x"`uname`" = x"Darwin" ] && ( [ -d /Library/Frameworks/SDL.framework ] || [ -d $(HOME)/Library/Frameworks/SDL.framework ] ); then
+                       # AGL is broken in Snow Leopard, so let's default to SDL if it is available.
+                       TARGETS="sv-debug sdl-debug"
                else
                        TARGETS="sv-debug cl-debug sdl-debug"
                fi
@@ -503,7 +513,7 @@ case "$cmd" in
                        client=
                        export PATH="$d0/misc/buildfiles/w32:$PATH"
                elif [ x"`uname`" = x"Darwin" ]; then
-                       export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Nexuiz.app/Contents/MacOS"
+                       export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS"
                        client=-sdl
                else
                        client=-sdl
@@ -529,7 +539,7 @@ case "$cmd" in
                set -- "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic "$@"
 
                # if pulseaudio is running: USE IT
-               if [ -z "$SDL_AUDIODRIVER" ] && ! [ -n "$WE_HATE_OUR_USERS" ]; then
+               if [ -z "$SDL_AUDIODRIVER" ] && ! [ -n "$WE_HATE_OUR_USERS" ] && ! [ x"`uname`" = x"Darwin" ]; then
                        if ps -C pulseaudio >/dev/null; then
                                if ldd /usr/lib/libSDL.so 2>/dev/null | grep pulse >/dev/null; then
                                        export SDL_AUDIODRIVER=pulse
@@ -666,7 +676,7 @@ case "$cmd" in
                                                ;;
                                esac
                                reportecho "  Branch $ref:"
-                               note=`git notes --ref "refs/notes/admin-merge" show "$ref" 2>/dev/null || true`
+                               note=`GIT_NOTES_REF=refs/notes/admin-merge git notes show "$ref" 2>/dev/null || true`
                                if [ -n "$note" ]; then
                                        reportdo4 echo "$note"
                                        reportecho4 "--> not merging, already had this one rejected before"
@@ -675,18 +685,18 @@ case "$cmd" in
                                        org=`git rev-parse HEAD`
                                        if ! git merge "$ref" 2>&1 | tee "$t"; then
                                                git reset --hard "$org"
-                                               git notes --ref "refs/notes/admin-merge" add -m "Merge failed:$LF`cat "$t"`" "$ref"
+                                               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 2>&1 | tee "$t"; then
                                                git reset --hard "$org"
-                                               git notes --ref "refs/notes/admin-merge" add -m "Compile failed:$LF`cat "$t"`" "$ref"
+                                               GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Compile failed:$LF`cat "$t"`" "$ref"
                                                reportdo4 cat "$t"
                                                reportecho4 "--> compile failed"
                                        elif ! yesno "Still merge \"$ref\" into `git symbolic-ref HEAD` of $d? Maybe you want to test first."; then
                                                git reset --hard "$org"
-                                               git notes --ref "refs/notes/admin-merge" add "$ref"
-                                               note=`git notes --ref "refs/notes/admin-merge" show "$ref" 2>/dev/null || true`
+                                               git notes edit "$ref"
+                                               note=`GIT_NOTES_REF=refs/notes/admin-merge git notes show "$ref" 2>/dev/null || true`
                                                reportdo4 echo "$note"
                                                reportecho4 "--> test failed"
                                        else
@@ -710,7 +720,7 @@ case "$cmd" in
                                        fi
                                else
                                        git notes --ref "refs/notes/admin-merge" add "$ref"
-                                       note=`git notes --ref "refs/notes/admin-merge" show "$ref" 2>/dev/null || true`
+                                       note=`GIT_NOTES_REF=refs/notes/admin-merge git notes show "$ref" 2>/dev/null || true`
                                        if [ -n "$note" ]; then
                                                reportdo4 echo "$note"
                                                reportecho4 "--> rejected"