mirror of
https://github.com/glest/glest-source.git
synced 2025-02-24 11:42:31 +01:00
A new script to compare two different versions of data folders in the release folder and build an archive with ONLY the differences
This commit is contained in:
parent
be9739cf29
commit
5fce51ad00
91
mk/linux/makedata-diff.sh
Executable file
91
mk/linux/makedata-diff.sh
Executable file
@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script compares two mega-glest data content folders for file differences,
|
||||
# then creates an archive of ONLY the differences (including files ONLY in new version)
|
||||
|
||||
# Below is the old version to compare with. The new version is pulled from
|
||||
# configure.ac
|
||||
OLD_VERSION=3.3.0
|
||||
|
||||
cd release
|
||||
|
||||
CURDIR="`pwd`"
|
||||
cd ..
|
||||
VERSION=`autoconf -t AC_INIT | sed -e 's/[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\):.*/\1/g'`
|
||||
RELEASENAME=megaglest-data-updates-$VERSION
|
||||
|
||||
cd $CURDIR
|
||||
|
||||
echo "Creating data package $RELEASENAME (comparing against $OLD_VERSION)"
|
||||
|
||||
if [ ! -e megaglest-data-$VERSION-changes.txt ]; then
|
||||
diff --brief -r -x "*~" megaglest-data-$OLD_VERSION megaglest-data-$VERSION > megaglest-data-$VERSION-changes.txt
|
||||
fi
|
||||
|
||||
cd megaglest-data-$VERSION
|
||||
|
||||
if [ -e ../megaglest-data-$VERSION-fileslist.txt ]; then
|
||||
rm ../megaglest-data-$VERSION-fileslist.txt
|
||||
fi
|
||||
|
||||
cat ../megaglest-data-$VERSION-changes.txt | while read line;
|
||||
do
|
||||
|
||||
#echo "$line" # Output the line itself.
|
||||
#echo `expr match "$line" 'megaglest-data-$VERSION'`
|
||||
#addfilepos=`expr match "$line" 'megaglest-data-$VERSION'`
|
||||
|
||||
#echo [$line]
|
||||
#echo `awk "BEGIN {print index(\"$line\", \"megaglest-data-$VERSION\")}"`
|
||||
|
||||
addfilepos=`awk "BEGIN {print index(\"$line\", \"megaglest-data-$VERSION\")}"`
|
||||
|
||||
#echo [$addfilepos]
|
||||
#echo [${line:$addfilepos-1}]
|
||||
|
||||
#echo [Looking for ONLY in: `expr match "$line" 'Only in '`]
|
||||
onlyinpos=`expr match "$line" 'Only in '`
|
||||
#echo [$onlyinpos]
|
||||
|
||||
if [ "$onlyinpos" -eq "8" ]; then
|
||||
|
||||
echo **NOTE: Found ONLY IN string...
|
||||
|
||||
line=${line:$addfilepos-1}
|
||||
line=${line/: //}
|
||||
line=${line/megaglest-data-$VERSION\/}
|
||||
|
||||
echo New path: [$line]
|
||||
else
|
||||
|
||||
line=${line:$addfilepos-1}
|
||||
line=${line/ differ/}
|
||||
line=${line/megaglest-data-$VERSION\/}
|
||||
|
||||
echo New path: [$line]
|
||||
fi
|
||||
|
||||
#compress_files="${compress_files} ${line}"
|
||||
|
||||
#echo compress_files = [$compress_files]
|
||||
#echo ${line##megaglest-data-$VERSION*}
|
||||
|
||||
echo "${line} " >> ../megaglest-data-$VERSION-fileslist.txt
|
||||
|
||||
done
|
||||
#exit
|
||||
|
||||
files_list=`cat ../megaglest-data-$VERSION-fileslist.txt`
|
||||
|
||||
#echo compress_files = [$files_list]
|
||||
|
||||
if [ -e ../$RELEASENAME.7z ]; then
|
||||
rm ../$RELEASENAME.7z
|
||||
fi
|
||||
|
||||
#echo 7za a "../$RELEASENAME.7z" $files_list
|
||||
7za a "../$RELEASENAME.7z" $files_list
|
||||
|
||||
cd ..
|
||||
|
||||
cd ..
|
Loading…
x
Reference in New Issue
Block a user