# Developer access to Hat

This page tells you how to get darcs access to the latest, most current, Hat sources.

### Viewing the darcs repository on the web

If you don't want to download the sources, you can view the current contents of the repository on the web here.

### Remote Read-only Access

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

- Obviously, you need to have the darcs command installed.
- `darcs get --partial http://darcs.haskell.org/hat`
- If you want the complete history, omit the `-partial` flag, but be warned that the history is large, it will take a long time to download, and will have errors on case-insensitive file systems (e.g. Windows and MacOS X).
- The checked-out source tree will appear in a directory called `hat`. You can rename this directory to whatever you like, darcs won't mind.
- Change to that directory, and run the shell script `sh start`. This will prepare the repository for use, by making various scripts executable, possibly downloading extra library packages, and so on.
- From then on, you can keep up with new changes in the central repo by using `darcs-all pull`. You can even do your own development in a detached fashion, using `darcs record` on your own local repository.

With read-only CVS access you can do anything except commit changes to the central repository. You can `darcs record` changes in your local tree, then submit them to us by email using `darcs send`.

### Using the checked-out tree

The first thing to do after checking out a fresh tree is `sh start`, followed by `./configure`, and 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 hat` gives you everything, but `make hat-tools` gives you just the browsing tools.

### Tracking changes in the central repository

The log messages of all accepted darcs patches are currently 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 the central repository

Core developers of hat have write-access to the central darcs repository. All you need is an account on the machine `darcs.haskell.org`.

- You need to have ssh (secure shell) installed.
- The first time you commit a patch back to the repo, you will need to specify where it is located:

      darcs push darcs..haskell.org:/home/darcs/hat

- Thereafter, just use `darcs push` to commit patches.

All the other instructions are the same.

### Gaining write-access

To obtain write-access to darcs.haskell.org, you need to ask the haskell.org maintainers - Simon Marlow <simonmar@haskell.org> or Isaac Jones <ijones@galois.com> - for an account.

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

This page last modified: 10th October 2006
York Functional Programming Group