mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
46f683cf14
---------------------- ./bin/snapshot Made same fix as for the release script yesterday. ./src/H5D.c ./src/H5Dprivate.h ./src/H5G.c ./src/H5Gprivate.h ./src/H5Gpublic.h ./src/H5O.c ./src/H5Oprivate.h ./src/H5RA.c ./src/H5RAprivate.h ./src/H5T.c ./src/H5Tprivate.h Improved object type checking. Instead of determining the object type by trying to open each of the possible types, we keep a table of associations between object type number (like H5G_GROUP, H5G_DATASET, H5D_TYPE, and H5D_RAGGED) and an `isa' function that returns true if the object header has the right messages to make the object a particular type. This mechanism also allows specialization of object types by permitting an object to satisfy more than one `isa' function. Added `isa' functions for groups, datasets, ragged arrays, and committed data types. ./src/H5config.h.in Added HAVE_STAT_ST_BLOCKS. I thought this had already been added, but apparently not. ./tools/h5ls.c Removed system include files since they're already included by H5private.h and since I wasn't including them portably anyway. By default, 1-byte integer types are printed as integer values instead of ASCII characters. However, the `-s' or `--string' command-line switch causes the data to be interpretted as ASCII. String data types are always printed as character data. Ragged arrays are now identified as ragged arrays and h5ls doesn't descend into the group automatically. This uses the new object type specialization stuff. ./tools/h5tools.c ./tools/h5tools.h Added the ability to print 1-byte integer types as either ASCII or numeric data instead of always ASCII. The default is to print as numeric data.
81 lines
2.2 KiB
Bash
Executable File
81 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
set -x
|
|
date
|
|
#
|
|
# This script should be run nightly from cron. It checks out hdf5
|
|
# from the CVS source tree and compares it against the previous
|
|
# snapshot. If anything significant changed then a new snapshot is
|
|
# created, the minor version number is incremented, and the change is
|
|
# checked back into the CVS repository.
|
|
#
|
|
|
|
# The path isn't properly initialized on hawkwind -- /usr/local/bin is
|
|
# either missing or is after /usr/bin when it should be before.
|
|
PATH="/usr/local/bin:$PATH"
|
|
|
|
# Where are the snapshots stored?
|
|
ARCHIVES=/hdf3/ftp/pub/outgoing/hdf5/snapshots
|
|
if [ "$1" ]; then
|
|
ARCHIVES="$1"
|
|
shift
|
|
fi
|
|
|
|
# What compression methods to use?
|
|
METHODS="gzip bzip2"
|
|
|
|
# Create a working directory. Hopefully one is left over from last
|
|
# time that still has the contents of the previous release. But if
|
|
# not, just create one and assume that a snapshot is necessary.
|
|
COMPARE=${HOME}/hdf5-snapshots
|
|
test -d ${COMPARE} || mkdir -p ${COMPARE} || exit 1
|
|
|
|
# Check out the current version from CVS
|
|
if [ -z "$CVSROOT" ]; then
|
|
echo "Where is the CVS repository?" 1>&2
|
|
exit 1
|
|
fi
|
|
cvs -Q co -d ${COMPARE}/current hdf5 || exit 1
|
|
|
|
# Compare it with the previous version. Compare only files listed in
|
|
# the MANIFEST plus the MANIFEST itself.
|
|
snapshot=yes
|
|
if [ -d ${COMPARE}/previous ]; then
|
|
if (diff -c ${COMPARE}/previous/MANIFEST ${COMPARE}/current/MANIFEST); then
|
|
snapshot=no
|
|
for src in `grep '^\.' ${COMPARE}/current/MANIFEST|expand|cut -f1 -d' '`; do
|
|
if (diff -I H5_VERS_RELEASE -I " released on " \
|
|
${COMPARE}/previous/$src ${COMPARE}/current/$src); then
|
|
else
|
|
snapshot=yes
|
|
# Don't break because we want to see all the diffs.
|
|
#break
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
|
|
# Make sure all the serial tests work.
|
|
if [ "$snapshot" = "yes" ]; then
|
|
if (cd ${COMPARE}/current; cp -p Makefile.dist Makefile; make _test); then
|
|
:
|
|
else
|
|
snapshot=no
|
|
fi
|
|
(cd ${COMPARE}/current; make distclean)
|
|
fi
|
|
|
|
# Release snapshot, update version, and commit to cvs
|
|
if [ "$snapshot" = "yes" ]; then
|
|
(
|
|
cd ${COMPARE}/current
|
|
./bin/release -d $ARCHIVES $METHODS
|
|
./bin/h5vers -i
|
|
cvs -Q commit -m Snapshot
|
|
)
|
|
fi
|
|
|
|
# Replace the previous version with the current version.
|
|
rm -rf ${COMPARE}/previous
|
|
mv ${COMPARE}/current ${COMPARE}/previous
|
|
exit 0
|