
CVS is the Concurrent Versions System. It is a source control tool which allows multiple people to simultaneously view and edit code.
CVS keeps a history of all changes that have been made to the code, along with who made the change and when it was committed into the repository.
Note: Not all Apple open source projects are available via CVS.
Getting CVS
For Mac OS X users, the CVS client is available after installing the Developer Tools.
Unix users can obtain (command-line) CVS from the GNU Project.
Windows users can use WinCVS.
Getting Started
These instructions use the command-line version of CVS available on Mac OS X and other Unix systems.
You must use CVS version 1.10 or later to access the sources.
There are two CVS repositories, one for projects covered by Apple's Public Source License (APSL), and
another for software covered by other licenses.
APSL
In order to access the following APSL project,
you must set your CVS_RSH and CVSROOT environment variables to the values provided below (see Figure 1).
Before accessing APSL sources, you must register your
acceptance of the terms of the APSL.
When you access CVS you will be prompted for a password. Please enter your Apple ID and
password separated by a ':' (e.g. "sombody@mac.com:secret").
Figure 1: Setting CVS environment in Bourne Shell for APSL projects
$ export CVSROOT=:ext:apsl@anoncvs.opensource.apple.com:/cvs/apsl
$ export CVS_RSH=ssh
$ cvs co StreamingServer
apsl@anoncvs.opensource.apple.com's password: somebody@mac.com:secret
Other projects
In order to access the following projects,
- JavaScriptCore
- LayoutTests
- SVGSupport
- WebCore
- WebKit
- WebKitLibraries
- WebKitTools
- apache_mod_bonjour
- cups
- cygnus
- efax
- gcc
- gcc2
- gcc3
- gdb
- gimp-print
- keymgr
- mDNSResponder
- tcl
you must set your CVSROOT environment variable to the value provided below (see Figure 2).
Use anonymous as the password for anonymous CVS access.
CVS will cache your password in ~/.cvspass, so you will only need to run cvs login once.
Figure 2: Setting CVS environment in Bourne Shell for other projects
$ export CVSROOT=:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
$ cvs login
Logging in to :pserver:anonymous@anoncvs.opensource.apple.com:2401/cvs/root
CVS password: anonymous
$ cvs co WebKitTools
Configuration
We recommend setting the following default options for CVS by creating a .cvsrc file in your home directory.
Figure 3: Recommended ~/.cvsrc settings
checkout -P
update -P -d
diff -u -d -b -w
rdiff -u
cvs -z3
Troubleshooting tips
Should you have trouble accessing CVS, here are a couple of things to check.
- Can't find Darwin (or another project) in CVS
Apple separates projects into two main categories, on-cycle and off-cycle.
Source for an on-cycle project is published after commercial releases of Mac OS X software.
These sources are not available in CVS, but may be found here.
Source for an off-cycle project may be published at more frequent intervals than commercial releases,
and only these projects are available via CVS.
- Cannot connect to the anoncvs server
Is the CVSROOT environment variable properly set?
Check that your network or personal firewall is allowing outgoing ssh (port 22) or cvspserver (port 2401) connections.
- Authorization failures
Does the CVSROOT environment variable have the proper username (apsl)?
Is the right password being used to log in?
Note that your Apple ID and password are case sensitive.
- "Cannot create lock," permission errors, or other errors
Please contact opensource@apple.com with a description of what you were doing
and the exact text of the error message.
For More Information
Posted: 2005-11-07
|