[Add documentation about where Hat lives in CVS. malcolm**20020618153025] { addfile ./docs/cvs.html hunk ./docs/cvs.html 1 +Hat in CVS + +
+ +
+

CVS access to Hat

+
+
+ +

+This page tells you how to get CVS access to the latest, most current, +Hat sources. Although Hat is distributed separately from +the nhc98 compiler, it shares some of the same source files, +so the CVS development version is still part of the same source tree +as nhc98. To play with the Hat sources you will therefore +have to checkout the nhc98 CVS module. + + +

Remote Read-only CVS Access

+ +

+Read-only access is available to anyone - there's no need to ask us +first. To get read-only access to our repository: + +

    +
  • You need to have ssh (secure shell) installed, and it must + support SSH protocol version 1.5. (Protocol version 2.0 and above + will not work with our server.) +
  • Set your CVS_RSH environment variable to ssh. +
  • The first time you access the repository, you'll need to do + the following: +
    +      $ cvs -d :ext:anoncvs@hinken.sparud.net:/cvs checkout nhc
    +
    + The checked-out source tree for nhc98 will appear in a + directory called nhc. You can rename this directory to + whatever you like, CVS won't mind. +
  • From then on, you should no longer need the -d option, + and commands like +
    +      $ cvs diff
    +      $ cvs update
    +
    + should work, provided your working directory is somewhere inside + the checked out tree. In normal use, cvs update + is the command to merge the latest changes from the central + repository into your local tree. cvs diff gives you + the differences between your version and the central version. +
  • If you change your current directory into a sub-directory of the + CVS tree, cvs commands will normally operate only on that subtree, + not on the full tree. This is very handy if you are only interested + in a small part of the source. +
+ +

+With read-only CVS access you can do anything except commit changes +to the repository. You can make changes to your local tree, and still +use CVS's update facility to keep your tree otherwise up-to-date, +and you can generate patches using cvs diff in order to send +to us for inclusion. + +

+To set up default flags for some of the CVS commands, you can create +a .cvsrc file. For instance, the -P flag to 'update' says +prune empty directories, which is normally what you want, and the -d +flag ensures that you collect new directories that have been added. +Here is an example .cvsrc file: +

+        checkout -P
+        release -d
+        update -d -P
+        diff -c
+
+ +

Using the checked-out CVS tree

+ +

+The first thing to do after checking out a fresh tree is +./configure, setting whatever options you wish to use. +It is always safe to re-run the ./configure script at any +time - it will never leave your configuration in an inconsistent state. +The machine/OS combination is always detected first so you can't re-use +the wrong machine configuration by mistake, and although previous +options for a particular machine are cached, they are always reported, +and can be always overridden on the command line. + +

+Then, do a make with whatever targets you are interested +in: make help will give you a list of the common ones. +For instance, make basic gives you the standard compiler, and +make all gives you profiling and tracing variants in addition. + + +

Tracking changes in the CVS repository

+

+The log messages of all CVS commit actions are sent to the mailing list +cvs-nhc98@haskell.org. If you wish to see who is making +changes, why, and and what they say about them, please do join this +list - see +http://haskell.org/mailman/listinfo for further details. + + +

Core developers - write-access to CVS

+

+Core developers of nhc98 and Hat have write-access +to the CVS repository. As a reminder, they should use a slightly +different address for an initial checkout of the tree: +

+      $ cvs -d :ext:username@hinken.sparud.net:/usr/src/master checkout nhc
+
+All the other instruction are the same, except that developers also +have permission to commit changes to the repository. + + +

+


+

+The latest updates to these pages are available on the WWW from + +http://www.cs.york.ac.uk/fp/nhc98/ + +

+This page last modified: 2002.06.18
+ +York Functional Programming Group
+ +

+ + }