From 2b829378b2a74fd04bece95965bf962bda7e2e21 Mon Sep 17 00:00:00 2001 From: div0 Date: Thu, 27 Dec 2007 17:06:20 +0000 Subject: [PATCH] add support for exclude patterns to zipdiff, and use it to exclude the oggs which just got replaygain patched git-svn-id: svn://svn.icculus.org/nexuiz/trunk@3057 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- misc/makebuild.sh | 3 ++- misc/zipdiff | 33 +++++++++++++++++++++++++++------ 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/misc/makebuild.sh b/misc/makebuild.sh index 4e754e933..d33bf2163 100755 --- a/misc/makebuild.sh +++ b/misc/makebuild.sh @@ -44,6 +44,7 @@ mingwdlls=$buildfiles/w32 osxapps=$buildfiles/osx copystrip=$buildfiles/copystrip fteqcc="fteqcc -O2" +zipdiff=$base/nexuiz-current/misc/zipdiff fteqccdir="$base/fteqcc" mingw=/home/polzer/mingw32 @@ -250,7 +251,7 @@ rm -f "$zipdir/nexuizsource$date$ext.zip" zip $zipflags -9yr "$zipdir/nexuizsource$date$ext.zip" Nexuiz/gpl.txt Nexuiz/sources ln -snf nexuizsource$date$ext.zip "$zipdir/nexuizsource-NEWEST.zip" -zipdiff -o "Nexuiz/data/datapatch$date.pk3" -f "$basepk3" -t Nexuiz/data/data$date.pk3 +$zipdiff -o "Nexuiz/data/datapatch$date.pk3" -f "$basepk3" -t Nexuiz/data/data$date.pk3 -x 'sound/cdtracks/track*.ogg' mkdir -p gfx if unzip "Nexuiz/data/data$date.pk3" gfx/brand.tga; then zip $zipflags -9r "Nexuiz/data/datapatch$date.pk3" gfx/brand.tga diff --git a/misc/zipdiff b/misc/zipdiff index 9b7cc56e2..7fc237cc5 100755 --- a/misc/zipdiff +++ b/misc/zipdiff @@ -13,6 +13,7 @@ EOF output= from= to= +excludes= while [ $# -gt 0 ]; do o=$1 @@ -30,6 +31,10 @@ while [ $# -gt 0 ]; do to=$1 shift ;; + -x) + excludes="$excludes $1" + shift + ;; *) usage ;; @@ -48,6 +53,8 @@ found() new|changed|deleted) echo "$source" ;; + excluded) + ;; deleted|*) echo >&2 " * Sorry, can't handle deletion of $source." ;; @@ -76,13 +83,27 @@ diffit() case "$newline$fromlist$newline" in *$newline$line$newline*) # check if equal - unzip -p "$from" "$line" > "$tempdir/v1" - unzip -p "$to" "$line" > "$tempdir/v2" - if ! diff --brief "$tempdir/v1" "$tempdir/v2" >/dev/null 2>&1; then - found changed "$line" + isexcluded=false + + for P in $excludes; do + case "$line" in + $P) + found excluded "$line" + isexcluded=true + break + ;; + esac + done + + if ! $isexcluded; then + unzip -p "$from" "$line" > "$tempdir/v1" + unzip -p "$to" "$line" > "$tempdir/v2" + if ! diff --brief "$tempdir/v1" "$tempdir/v2" >/dev/null 2>&1; then + found changed "$line" + fi + rm "$tempdir/v1" + rm "$tempdir/v2" fi - rm "$tempdir/v1" - rm "$tempdir/v2" ;; *) found new "$line" -- 2.39.2