CVS FREQUENTLY ASKED QUESTIONS

...if you want to contribute to the development of 
wvWare or libwmf in the SourceForge CVS repository.

First of all, you need an *account* (<userid> on SourceForge,
with a personal password. Then you will have to have 
ssh (Secure Shell) working. SourceForge's CVS uses ssh for
secure developer access. See

   http://sourceforge.net/docman/display_doc.php?docid=765&group_id=1

and links therein for the technical details.

1. Add the following lines to your start-up script
   (like .bashrc or whatever)

export CVS_RSH=ssh
export CVSROOT=<userid>@cvs.wvware.sourceforge.net:/cvsroot/wvware

... or execute these from the command line. 
(Do not try to execute this as a shell script. Won't work :-)

(check with printenv that CVS_RHS and CVSROOT are really set)

2. Give commands like the following (RTFM):

cvs -d $CVSROOT checkout wv
cvs -d $CVSROOT checkout libwmf
cvs -d $CVSROOT diff
cvs -d $CVSROOT update
cvs -t -d $CVSROOT commit
...

It appears to be important to have the -d $CVSROOT switch.

3. Before committing, do a 

cvs -d $CVSROOT diff >diff-file

to check what precisely will be checked in. If too much
will be checked in, you can limit it by using a regular expression

cvs -d $CVSROOT commit <file-reg-exp>

4. Remember, before commit, always to *first update* your
local copy, and resolve any possible conflicts that may arise,
which will be delineated in the file by >>>> and <<<< markers.

5. For large or "deep" changes, go through a make clean -- make
[make install] cycle to test that all is OK. Do not modify files
that are generated from .in files -- change the .in files instead,
and *if* the derived file is part of CVS, generate that again before
committing.

6. If you want to add files to the CVS repository, tell the repository
about it:

cvs -d $CVSROOT add <filename-expr>

Removal:

cvs -d $CVSROOT remove <filename-expr>

...and only then commit.

7. Useful CVS switches:

-t trace
-n "do as if" (like in make).

8. Use the SourceForge Web interface to study the code history.
Cool!

There is also a "cvs history" shell command available.

9. Send a *message* (e.g. containing the CVS comment block) to the
mailing list, currently one and the same for *both* modules 
wv and libwmf :

wvware-devel@lists.sourceforge.net 

Good luck!

-- 
"Dom Lachowicz" <cinamod@hotmail.com> 
Martin Vermeer  <martin.vermeer@hut.fi>