CVS Access to

samba development changed to subversion

In April 2004 Samba development changed from using CVS to Subversion for version control. Please see the subversion information for details.


The machine runs a publicly accessible CVS repository for access to the source code of several packages. This document describes how to get anonymous read-only access to this source code.

Web access to the source

Build Farm - Recent Checkins

The Samba build farm provides access to the recent checkins on the samba_2_2, samba_3_0 and HEAD branches..


You can access the source code via your favourite WWW browser. This allows you to access the contents of individual files in the repository and also to look at the revision history and commit logs of individual files. You can also ask for a diff listing between any two versions on the repository.

To access CVS via cvsweb click here.

Access via cvs

You can also access the source code via a normal cvs client. This gives you much more control over you can do with the repository and allows you to checkout whole source trees and keep them uptodate via normal cvs commands. This is the preferred method of access if you are a developer and not just a casual browser.

To gain access via anonymous cvs use the following steps. For this example I will assume that you want a copy of the samba source code. For the other source code repositories on this system just substitute the correct package name

  1. Install a recent copy of cvs. All you really need is a copy of the cvs client binary.
  2. run the command
    cvs -d login
  3. when it asks you for a password type cvs
  4. run the command
    cvs -z5 -d co samba
    This will create a directory called samba containing the latest samba source code. This corresponds to the HEAD development branch.

    If you want a different branch use the -r option to the co command to specify the branch. For example to checkout the SAMBA_2_2 branch run the command

    cvs -z5 -d co -r SAMBA_2_2 samba
    If you want the latest 3.0 development code, use the SAMBA_3_0 tag.
    cvs -z5 -d co -r SAMBA_3_0 samba
  5. Whenever you want to merge in the latest code changes use the following command from within the samba directory:
    cvs update -d -P
NOTE: The Samba TNG project is now a separate development effort apart from the main Samba branch (not just another CVS code branch). For the latest Samba TNG code, please refer to

Converting from

Anonymous access to the Samba cvs tree used to be via the host That host is now reserved for developers with commit access and all anonymous access must be via

If you have an existing checkout from then you can run the following script to convert the tree to use

find . -name Root -exec sh -c "sed 's/cvs\(\)/pserver\1/g' < {} > {}. && mv {}. {}" \;
This command will change all occurances of to in the CVS/Root files in your tree.

Access via rsync and ftp also exports unpacked copies of most parts of the CVS tree at and also via anonymous rsync at rsync:// I recommend using rsync rather than ftp. See for more info on rsync.

The disadvantage of the unpacked trees is that they do not support automatic merging of local changes like CVS does. rsync access is most convenient for an initial install.

Available branches

Please refer the Development and General Roadmap page for information on the current cvs branches.

How it's done

If you are interested in how I have setup anonymous cvs access and want to set it up on your own system then you might like to checkout the pserver source code using the the command
cvs -d co pserver
You really have to know what you are doing to do this. Please don't mail me with basic cvs or unix security questions.

Reporting problems

If you have any problems with this system please ask on the Samba mailing list.