
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