Chapter 3. Working with CVS

Table of Contents
3.1. Obtaining a CVS Account
3.2. CVS Login
3.3. Checking Out a Module
3.4. Updating the Tree
3.5. Checking the Status of Files
3.6. Commiting Changes
3.7. Adding files or directories
3.8. Removing files

The PHP documentation is maintained using CVS (Concurrent Versions System). CVS allows the documentation contributors to make changes to the different files that make up the PHP documentation without stepping on each other's toes.

A CVS system contains a central server, where all the files are stored. A CVS server can host many repositories, the name of the repository used by the PHP Documentation people is phpdoc. To access this server, you need a CVS client program on your system.

When you decide to work on a file, you need to check it out (~download the file). Then you can make modifications on the file on your local copy. If you are ready, you need to commit the changes (~upload the new file). The CVS client asks for your short comment about why this commit was neccesary. You can give here a summary about what was changed. The CVS server stores the history of files with these commit messages. Everybody can then see what was modified by you, because all modifications generate a diff posted to the mailing list, and the history is also viewable with a CVS client or the web interface at http://cvs.php.net/. You can also delete a file or add one with your CVS client, if you see it is needed.

This section is not intended to be a CVS tutorial, only a quick walkthough to help you get started checking out out the phpdoc tree and commiting your changes. The complete CVS documentation and can be found at http://www.cvshome.org/.

CVS tutorials can be found at:

You can also type man cvs anytime you would like to get help about your CVS client. This brings up a help text called a "manpage".

3.1. Obtaining a CVS Account

First, before you can actually make documentation changes, you need write access to the cvs.php.net CVS repository. You can always checkout a module anonymously, but you can not commit changes unless you have an account. If you only would like to check files out, you can use the read only user name and password. See http://www.php.net/anoncvs.php for more information.

Also note, that if you have a CVS account on our server, you may have no write access to the phpdoc module. The Karma system controls who have access to what repository, so if you have a CVS account but have no Karma to write to phpdoc, please ask for Karma at group@php.net. Note, that who has Karma to write to the PHP source tree, has Karma to phpdoc as well.

Obtaining a CVS account at php.net isn't difficult, but you need to do two things:

Both of the above steps and other information about CVS accounts at cvs.php.net can be found on the same page as the request form, http://www.php.net/cvs-php.php. Note that this it not an automated process. If you receive no reponse after days, do not hesitate to post your request again.