[cvs-nhc98] Changes to the CVS repository
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Thu Jun 10 06:19:45 EDT 2004
Dear nhc98 and hat CVS users,
Following recent discussions with Sven Panne, I have made a couple
of changes to the CVS repository, which will affect you.
Previously, some directories that are shared between various Haskell
projects (e.g. cpphs, libraries, compiler98) were grafted into the
nhc98 or hat repositories by symlinks. Apparently this is evil, and
there is a better, CVS-native, way to do it. Thus, I have removed
the symlinks and replaced them by the so-called 'modules' method.
What this means in practice is: if you have some already-checked-out
copies of the nhc98 or hat trees, certain things will cease to work.
One way to fix things is simply to delete your working copy and check
out a new one. This is fine if you have made no changes yourself.
However, if you have uncommitted changes in your working copy, they
would be lost, so a method of patching your working copy is required.
At the bottom of this message is a shell-script called 'fixCVS'.
Run it in the nhc98 or hat top-level directory, with the appropriate
argument 'nhc98' or 'hat'. This will refresh the directory grafting
information without altering your sources.
Regards,
Malcolm
---- fixCVS ----
#!/bin/sh
usage() {
echo "Usage: fixCVS (nhc98 | hat)"
echo " -- Patch a CVS working directory to match the modified"
echo " -- repository. Invoke from either the nhc98 or hat dir."
exit 1
}
replace () {
current=$1
new=$2
echo "replace: $current -> $new"
echo $new >$current/CVS/Repository
}
case $# in
1) baselocation=$1 ;;
*) usage ;;
esac
case $baselocation in
nhc98)
if [ -d src/cpphs ]
then
replace src/cpphs cpphs
replace src/cpphs/tests cpphs/tests
replace src/cpphs/docs cpphs/docs
fi
LIBRARIES=`cd src; find libraries -type d ! -name CVS`
for lib in $LIBRARIES
do if [ -d src/$lib/CVS ]
then replace src/$lib fptools/$lib
fi
done
;;
hat)
replace src/compiler98 nhc98/src/compiler98
;;
*)
usage
;;
esac
More information about the Cvs-nhc98
mailing list