Our developers are located all around the world. To enable them to work together on our software, we keep the source code in Internet-accessible revision control systems called CVS and Subversion. Apache committers have write access to the CVS and Subversion repositories, enabling them to make changes to the source code. Everyone has read access to the repositories, so you may download the most up-to-date development version of the software.
There are several ways to access the CVS and Subversion repositories:
Web Access
If you just wish to browse around or download a few individual files, the best tool is the web-based ViewCVS interface for CVS repositories and ViewCVS interface for Subversion.
Snapshots
Many of the projects make snapshots of the source code available. These are simply tarballs containing the most up-to-date source code captured four times per day.
Anonymous CVS
To access the CVS repositories anonymously, you will need a
relatively recent CVS client. First, you must set the
CVSROOT
environment variable. Assuming a Bourne shell,
this looks like:
$ CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic
$ export CVSROOT
Then login to the server:
$ cvs login
The password is "anoncvs" (without the quotes).
Finally, you choose the module you would like and check it out. For example, to get the Apache HTTP Server 2.0 module, use:
$ cvs checkout httpd-2.0
For more help on using CVS, consult the CVS website.
Anonymous Subversion
To access the Subversion repositories anonymously, you will need a Subversion client. You can also browse the ASF projects that are using Subversion via: ASF Repository.
Choose the module you would like and check it out. For example, to get the Incubator Spamassassin module, use:
$ svn checkout http://svn.apache.org/repos/asf/incubator/spamassassin/trunk spamassassin
For more help on using Subversion, consult the Subversion website or Subversion book.
rsync
To use the rsync utility to get a list of available modules:
$ rsync cvs.apache.org::
Then to grab or update a local copy of, for example, httpd-2.0:
$ rsync -avz cvs.apache.org::httpd-2.0 local-directory-name