X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=docs%2Fcvs-cheat-sheet.html;h=33f8aca025b04497103fa691c6e3301b8fee0c80;hb=01bd3b5fa21636cd0b89e9aff8cc4a8491984c4f;hp=76f4c2ef90ae19d7fd9c7cbd572bef627920ad5b;hpb=94cb59433d5f9d25d99b896001b0e9e17de24e20;p=ghc-hetmet.git diff --git a/docs/cvs-cheat-sheet.html b/docs/cvs-cheat-sheet.html index 76f4c2e..33f8aca 100644 --- a/docs/cvs-cheat-sheet.html +++ b/docs/cvs-cheat-sheet.html @@ -1,351 +1,352 @@ - - - - - - -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
- - + + + + + + +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
+ +