From: simonmar Date: Thu, 20 Apr 2000 15:48:20 +0000 (+0000) Subject: [project @ 2000-04-20 15:48:20 by simonmar] X-Git-Tag: Approximately_9120_patches~4638 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=94cb59433d5f9d25d99b896001b0e9e17de24e20;p=ghc-hetmet.git [project @ 2000-04-20 15:48:20 by simonmar] Update this file to the one on the web site, and add Simon's latest notes about using the cvs- lists for bug reports about the cvs sources. --- diff --git a/docs/cvs-cheat-sheet.html b/docs/cvs-cheat-sheet.html index 3990999..76f4c2e 100644 --- a/docs/cvs-cheat-sheet.html +++ b/docs/cvs-cheat-sheet.html @@ -1,393 +1,351 @@ - - - - Access To The GHC CVS Repository - - - - -

FP Tools CVS Cheat Sheet

- -

At Glasgow, we use CVS (Concurrent Version System) to keep track -of our sources for various software projects. CVS lets several people -work on the same software at the same time, allowing changes to be -checked in incrementally. - -

Information on using CVS can be obtained from Cyclic Software. If you're at -Glasgow, the full documentation for CVS is online, in info format (use -'info cvs' or run emacs and type C-h i). A good source of tips is the -CVS FAQ, in /local/doc/gnu/CVS.FAQ. Bradley C. Kuszmaul also provides -a "to the point" introduction -to CVS. - -

This note is supposed to be a set of guidelines for how to use our -CVS repository, and will probably evolve in time. The main thing to -remember is that most mistakes can be undone, but if there's anything -you're not sure about feel free to bug the local CVS meister (namely -Simon Marlow). - -

Contents - -

- -

Remote Read-only CVS Access

- -

Read-only access is available to anyone - there's no need to ask -us first. We use the anoncvs mechanism pioneered -by the OpenBSD folks. To get -read-only access to our repository, just set your CVSROOT environment -variable to - -

-	anoncvs@solander.dcs.gla.ac.uk:/cvs
-
- -

and you can then check out a source tree using normal CVS commands. -For example: - -

-	$ cvs checkout fpconfig
-	$ cd fptools
-	$ cvs checkout ghc
-
- -

gets a brand spanking new set of GHC sources. The layout of our -CVS repository is described below, under Using CVS for the first time. - -

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 merge facility to keep your tree up to date, and you can -generate patches using 'cvs diff' in order to send to us for -inclusion. - -

If you like, you can use ssh instead of the standard -rsh to connect to the CVS server. Just set your -CVS_RSH variable to ssh. - -

Remote Read-Write CVS Access

- -

We generally supply read-write access to folk doing serious -development on some part of the source tree, when going through us -would be a pain. If you're developing some feature, or think you have -the time and inclination to fix bugs in our sources, feel free to ask -for read-write access. There is a certain amount of responsibility -that goes with commit privileges; we are more likely to grant you -access if you've demonstrated your competence by sending us patches -via mail in the past. - -

To use remote CVS, you need to supply me with a username and -encrypted password. Once you've done that and the account has been -set up, you need to do: - -

-     cvs -d <username>@solander.dcs.gla.ac.uk:/local/fp/src/cvsroot login
-
- -

CVS will ask for a password. You only need to enter the password -once, it will be recorded in .cvspass in your home directory. - -

-   setenv CVSROOT :pserver:<username>@solander.dcs.gla.ac.uk:/local/fp/src/cvsroot
-
- -

The CVSROOT environment variable will be recorded in the -checked-out tree, so you don't need to set this every time either. -Ignore the instructions for setting CVSROOT below. - - -

Using CVS for the First Time

- - - -

Checking Out a Source Tree

- - - - -

Committing Your Changes

- -

This is only if you have read-write access to the repository. For -anoncvs users, CVS will issue a "read-only repository" error if you -try to commit changes. - -

- -

Updating Your Source Tree

- -

It can be tempting to cvs update just part of a source tree to -bring in some changes that someone else has made, or before committing -your own changes. This is NOT RECOMMENDED! Quite often changes in -one part of the tree are dependent on changes in another part of the -tree (the mk/*.mk files are a good example where problems -crop up quite often). Having an inconsistent tree is a major cause of -headaches. - -

So, to avoid a lot of hassle, follow this recipe for updating your -tree: - -

-$ cd fptools
-$ cvs update -Pd 2>&1 | tee log
-
- -

Look at the log file, and fix any conflicts (denoted by a 'C' in the -first column). If you're using multiple build trees, then for every -build tree you have pointing at this source tree, you need to update -the links in case any new files have appeared: - -

-$ cd <build-tree>
-$ lndir <source-tree>
-
- -

Some files might have been removed, so you need to remove the links -pointing to these non-existent files: - -

-$ find . -xtype l -exec rm '{}' \;
-
- -

And finally, re-configure to take into accound any changes in -mk/config.mk.in. - -

-$ ./configure
-
- -

To be *really* safe, you should do - -

-$ gmake boot && gmake all
-
- -

from the top-level, to update the dependencies and build any changed -files. - - -

General Hints

- - - -Ok, that'll do for now. If there's anything else you'd like to see in -this file, just let me know. - -

Simon Marlow - - - + + + + + + +Access To The GHC CVS Repository + + + + +

FP Tools CVS Cheat Sheet

+ +

We use CVS (Concurrent Version System) to keep track of our sources for various +software projects. CVS lets several people work on the same software at the same time, +allowing changes to be checked in incrementally.

+ +

Information on using CVS can be obtained from Cyclic +Software.

+ +

This note is supposed to be a set of guidelines for how to use our CVS repository, and +will probably evolve in time. The main thing to remember is that most mistakes can be +undone, but if there's anything you're not sure about feel free to bug the local CVS +meister (namely Jeff Lewis).

+ +

Contents + +

+ +

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: + +

+ +

The layout of our CVS repository is described below, under Using CVS +for the first time.

+ +

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 merge facility to keep your +tree up to date, and you can generate patches using 'cvs diff' in order to send to us for +inclusion.

+ +

Remote Read-Write CVS Access

+ +

We generally supply read-write access to folk doing serious development on some part of +the source tree, when going through us would be a pain. If you're developing some feature, +or think you have the time and inclination to fix bugs in our sources, feel free to ask +for read-write access. There is a certain amount of responsibility that goes with commit +privileges; we are more likely to grant you access if you've demonstrated your competence +by sending us patches via mail in the past.

+ +

To use remote CVS, you need to supply me with a username and +encrypted password. Once you've done that and the account on +cvs.haskell.org has been set up, you need to install ssh, which is relatively painless. Log +in to cvs.haskell.org, and set up your .ssh/authorized_keys +file to allow logins from your local machine without a password (the +ssh documentation has details on how to do this). Then, just + +

+ +

The CVSROOT environment variable will be recorded in the checked-out tree, so +you don't need to set this every time either. Ignore the instructions for setting CVSROOT +below.

+ + +

Caveats: + +

+ +

Using CVS for the First Time

+ + + +

Checking Out a Source Tree

+ + + +

Committing Your Changes

+ +

This is only if you have read-write access to the repository. For anoncvs users, CVS +will issue a "read-only repository" error if you try to commit changes. + +

+ +

Updating Your Source Tree

+ +

It can be tempting to cvs update just part of a source tree to bring in some changes +that someone else has made, or before committing your own changes. This is NOT +RECOMMENDED! Quite often changes in one part of the tree are dependent on changes in +another part of the tree (the mk/*.mk files are a good example where problems +crop up quite often). Having an inconsistent tree is a major cause of headaches.

+ +

So, to avoid a lot of hassle, follow this recipe for updating your tree:

+ +
$ cd fptools
+$ cvs update -Pd 2>&1 | tee log
+ +

Look at the log file, and fix any conflicts (denoted by a 'C' in the first column). If +you're using multiple build trees, then for every build tree you have pointing at this +source tree, you need to update the links in case any new files have appeared:

+ +
$ cd <build-tree>
+$ lndir <source-tree>
+ +

Some files might have been removed, so you need to remove the links pointing to these +non-existent files:

+ +
$ find . -xtype l -exec rm '{}' \;
+ +

And finally, re-configure to take into accound any changes in mk/config.mk.in.

+ +
$ ./configure
+ +

To be *really* safe, you should do

+ +
$ gmake boot && gmake all
+ +

from the top-level, to update the dependencies and build any changed files.

+ +

GHC Tag Policy

+ +If you want to check out a particular version of GHC, you'll need to +know how we tag versions in the repository. The policy (as of 4.04) +is: + + + +So, to check out a fresh GHC 4.06 tree you would do: + +
+     $ cvs co -r ghc-4-06 fpconfig
+     $ cd fptools
+     $ cvs co -r ghc-4-06 ghc hslibs
+
+ + +

General Hints

+ + + +

Reporting Bugs in the CVS sources

+ +

If you are reporting a bug or infelicity in the CVS version of +GHC, please send your message to

+ + + + + + + + +
+ cvs-ghc@haskell.org
+ cvs-hslibs@haskell.org + (for hslibs/ stuff)
+ cvs-nofib@haskell.org + (for nofib/ stuff)
+ +

(not to glasgow-haskell-bugs). Two reasons:

+ + + +

Please don't stop sending bug reports though. They are really useful.

+ +
+ +

Ok, that'll do for now. If there's anything else you'd like to see +in this file, just let us know.

+ + + + + + + + +
Jeff Lewis
Simon Marlow
+ +