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 modules, the name of the main module used by the PHP Documentation people is phpdoc. There are other modules used for translations, each named after the language code of the translation (eg. phpdoc-de). 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 to 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 provide a short summary here 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 one of the mailing lists, 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 walkthrough to help you get started checking out the phpdoc and your translation's tree and commiting your changes. The complete CVS documentation can be found at http://www.cvshome.org/.

CVS tutorials faqs and even a complete book 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". cvs --help can also help you.

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 for more information.

Also note, that if you have a CVS account on our server, you may have no write access to the phpdoc and/or to your translation's module. The Karma system controls who have access to what module, so if you have a CVS account but have no Karma to write, please ask for Karma at [email protected]. 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. Note that this it not an automated process. If you receive no reponse after days, do not hesitate to post a mail to the PHP Group and ask for consideration.