hdf5/bin/snapshot
Robb Matzke 678eb19d71 [svn-r588] Changes since 19980810
----------------------

./MANIFEST
./src/H5Ssimp.c		[REMOVED]
./src/Makefile.in
	Removed H5Ssimp.c since it was no longer used.

./bin/snapshot
	Fixed a few minor things to make it work better.

./src/H5D.c
	Cleaned up H5D_read() and H5D_write() by combining some code
	in each. Added timing calls around the data space calls when
	H5S_DEBUG is defined.

./src/H5S.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
	Changed H5S_find() so it returns a table entry again instead
	of copying the data into a caller-supplied buffer.  This
	allows the timers to be stored in the table and updated by the
	caller.  Added H5S_register() to register new table entries
	and added entry creation to all the H5S selection
	methods. Also changed lots of global functions to static
	functions.

./src/H5Fistore.c
	Fixed a memory bug in the raw data cache.
1998-08-13 15:17:47 -05:00

80 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.
$ENV{PATH} = "/usr/local/bin:" . $ENV{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
for src in `cat ${COMPARE}/current/MANIFEST`; 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