[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