cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From COFFMAN Steven <>
Subject How To Commit & New Committer FAQ
Date Thu, 11 May 2000 18:24:20 GMT
Although has a "How to" for new committers, does not. On the fop list, it's come up a few times. Would it
be useful to add such to the website?

Below find both a "New Committer FAQ" and a "How To Commit" that might be
first drafts.
The latter lacks Windows specific instructions, but is reasonably

New Committer FAQ:
Q: Does the first line of the file and the apache license get automatically
A: The first line does, but the apache license doesn't.

Q: How do I send a commit message with my commit?
A: The commit messages are mailed out automatically whenever you commit by
the CVS server, so you don't have to, although you should probably subscribe
to get the messages.

Q: Can I check out using AnonCVS, make changes, and then commit my changes?
A: No. AnonCVS checkouts use a different remote root, stored in the 'Root'
file in the 'CVS' subdirectory of every directory of the module you checked
out. Fixing this is more trouble then it's worth. Checkout via authenticated
CVS in order to commit as such.

Q: What does Insufficient Karma mean?
A: It's an indication you do not have write access to that particular area
you're trying to commit to. The access list is $CVSROOT/CVSROOT/avail on
locus. A line like:
       avail         |ullrich,wenaus |StRoot/StAnalysisMaker
means that ullrich and wenaus can write to any directory under

Note that you will not be able to commit a brand new package to the
repository (unless you have a lot of karma) because there'll be no entry
giving you access to the area you're trying to create. You can create
subdirectories under directories you have access to. 

You should ask Pier when you need access changes or you need a new area to
be created. 

Any more Questions?
Afraid of committment?
How To Commit changes to Apache XML projects

First you must get read/write access to CVS. In order to get access to this,
read the project roles (

Once you have access you will need to login with the username/password
assigned to you using SSH. Changes are committed to the repository using CVS
over SSH.

1. Install CVS and SSH

If you've got both CVS and ssh installed, you're mostly there. To get ssh, I
used the ssh-clients-1.2.26-4TL.i386.rpm and ssh-1.2.26-4TL.i386.rpm from to install, ones specific to your hardware/distribution
should also be listed if you're not using an Intel machine. CVS should come
with your distribution, although it may not be installed.

After that, I needed to configure SSH by editing /etc/ssh/ssh_config and
uncommenting "StrictHostKeyChecking no", otherwise it defaults to yes, and
it will continually try to reconnect to unknown hosts. Irritating.

2. Identify Yourself
You then need to run ssh-keygen as you (not root), in your local directory
which will create an identity for you. You'll type in a passphrase that
you'll probably never use again. :)

You can now ssh to by typing 'ssh'. But
wait! There's more!

3. Configure your Locus Account
All platforms:
Ssh to locus, and edit your account's environment variables. 'pico .profile'
is a fine way to do so. At the bottom, add these lines:
export CVSROOT=/home/cvs
export CVS_RSH=/usr/local/bin/ssh
export CVS_SERVER=/usr/bin/cvs

When you're done, Hit control-X to exit, and say 'y' to save. Type logout to
exit from locus.

4. Configure your Local Machine
You then need to edit your local machine's enviornment variables, by editing
.bashrc (or whatever shell you use). Put these lines in your .bashrc or
export CVSROOT=''
export CVS_RSH=/usr/bin/ssh
export CVS_SERVER=/usr/bin/cvs

Your Apache user ID is different in the above, and if your shell is
different then bash, the environment variable setting may be as well

5. Getting and Committing Files
Linux and ?:
Ok, you're all set up. Sorta. DON'T try to check in files you got from
anonCVS. It's a pain in the neck. See the question in the FAQ above.

cvs checkout xml-fop
(then make your changes, replace files, whatever)
(then build and test)
cvs update
cvs commit

This will commit all your files at once, rather than one at a time. The
comment for the commit will be the same for each files. You can also commit
them one at a time so the comments all are specific to the file.

If you don't do CVS update someone could have committed before you and
you'll wipe their changes out, or break them unknowingly. If something
changed since you checked things out, you need to build and test again
before committing.

If you have two local copies of the repository instead of one, the process
is the same, you just do updates in two directories, only build in one, and
the changes in the "virgin" directory only consist of you moving files from
the "dirty" directory. This is sometimes useful.

Want more?

All sorts of CVS stuff:

View raw message