X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Fxonotic-map-compiler-autobuild;h=d19e79cde6f6f13950d46d865dde65c1ff54e6bd;hp=066b055353049fea92125067d0110027d6dbd605;hb=5721052160c40e8de5359adcd75ec5e44bf51526;hpb=bf9ac5e9bc63ca6cceef662fb95a218c8dbee060 diff --git a/misc/tools/xonotic-map-compiler-autobuild b/misc/tools/xonotic-map-compiler-autobuild index 066b0553..d19e79cd 100755 --- a/misc/tools/xonotic-map-compiler-autobuild +++ b/misc/tools/xonotic-map-compiler-autobuild @@ -16,10 +16,16 @@ allmaps() { commithash=$1 shift - for F in `git ls-files "$commithash" -- maps/\*.map.options`; do - M=${F#maps/} - M=${M%.map.options} - blobhash=`git rev-parse --revs-only "$commithash:maps/$M.map.options" || true`-`git rev-parse --revs-only "$commithash:maps/$M.map" || true` + for F in `git show "${commithash}:maps/"`; do + case "$F" in + *.map.options) + ;; + *) + continue + ;; + esac + M=${F%.map.options} + blobhash=`git rev-parse --revs-only "${commithash}:maps/$M.map.options" || true`-`git rev-parse --revs-only "${commithash}:maps/$M.map" || true` case "$blobhash" in -*) ;; @@ -274,23 +280,27 @@ rundownload() mv "$b" "$bspdir.old"/ fi done - cd data/xonotic-maps.pk3dir allmaps "HEAD" getthemap "$url_http" "$bspdir.old" "$bspdir" +} + +branches() +{ + git for-each-ref 'refs/remotes' | grep -vE ' refs/remotes/([^/]*/HEAD|.*/archived/.*)$' +} + +runmakeindex() +{ + cd data/xonotic-maps.pk3dir + branches | while read -r HASH TYPE REFNAME; do + allmaps "$HASH" indexthemap "$REFNAME" + done cd ../.. } case "$1" in build) cd data/xonotic-maps.pk3dir - git for-each-ref 'refs/remotes' | while read -r HASH TYPE REFNAME; do - case "$REFNAME" in - */HEAD) - continue - ;; - */archived/*) - continue - ;; - esac + branches | while read -r HASH TYPE REFNAME; do if [ -f "$build_cachedir/$HASH" ]; then continue fi @@ -300,16 +310,11 @@ case "$1" in git checkout -f master ;; screenshot) + runmakeindex > "branches.idx.new" + rsync -vaSHP "branches.idx.new" "$url_ssh""branches.idx.new" + rm -f "branches.idx.new" cd data/xonotic-maps.pk3dir - git for-each-ref 'refs/remotes' | while read -r HASH TYPE REFNAME; do - case "$REFNAME" in - */HEAD) - continue - ;; - */archived/*) - continue - ;; - esac + branches | while read -r HASH TYPE REFNAME; do if [ -f "$screenshot_cachedir/$HASH" ]; then continue fi @@ -319,32 +324,21 @@ case "$1" in continue fi - cd data/xonotic-maps.pk3dir - allmaps "$HASH" screenshotthemap "$REFNAME" "$url_http" + touch "$screenshot_cachedir/$HASH" done git checkout -f master ;; makeindex) - cd data/xonotic-maps.pk3dir - git for-each-ref 'refs/remotes' | while read -r HASH TYPE REFNAME; do - case "$REFNAME" in - */HEAD) - continue - ;; - */archived/*) - continue - ;; - esac - allmaps "$HASH" indexthemap "$REFNAME" - done - git checkout -f master + runmakeindex ;; download) + cd data/xonotic-maps.pk3dir rundownload + cd ../.. echo "List of maps that got deleted (if any) and currently are in $bspdir.old:" - ls -l "$bspdir.old" + ls -l "$bspdir.old" || true ;; download-latest) mkdir -p "$bspdir"