Source Code via CVS


The ROOT development is now done using Subversion. For more on ROOT and Subversion see this HowTo.


In addition to the other methods, the ROOT source code is available via CVS. The source code available in CVS contains the very latest the developers are working on. If you need a specific fix only available in the development version, this is the way to get it.

What is CVS? CVS is the Concurrent Versions System. Start at CVShome's pages to learn more and read the tutorial.

Anyone can check out the sources via CVS, but only certain people have the ability to check in. Those people, basically, are the core ROOT team.

To check out the sources, you need to be running CVS 1.10 or later (check by doing cvs -v), and have your $CVSROOT set to

The password for user cvs is cvs.

What follows are more in-depth instructions on two topics:



CVS repository browsing

The CVS repository can be browsed via the web using ViewCVS. It allows you to see the the history and diffs of all files in the repository.



CVS checkout

Here is how you do a CVS checkout from our server on various platforms.

Also note that CVS is slower than FTP, if you start from scratch.

So, please read this entire document, including the conversion section, before doing anything rash.

    You only ever need to run cvs login once. It will remember anonymous's password in your $HOME/.cvspass file.

    The -z3 parameter is to cause the files (and diffs) to be compressed while in transit. This is almost always the right thing to do; so much so that you should probably just put cvs -z3 in your $HOME/.cvsrc file, to make it be the default on all CVS commands.

    (Note that -z9 offers a logarithmic improvement in compression at an exponential cost in CPU time. Therefore, we recommend -z3; that seems to be about optimal in most cases.)

    For detailed install instructions see the file README/INSTALL.

  • Windows:

    Although there exists a native version of CVS for Windows we only support the build process under the Cygwin environment. You must have CVS version 1.10 or newer.

    You can find a suitably recent version of CVS for Cygwin at the CygUtils' site. However, the latest version of Cygwin (>= 1.1.4) comes with CVS already included.

    Before proceeding make sure your Cygwin environment has been correctly setup.

    The checkout and build procedure is similar to that for Unix.

    For detailed install instructions see the file README/INSTALL.



Converting a tarball to a working CVS sandbox

Chances are, you've already downloaded the source code from our web server. Even if you haven't, you might want to consider doing so: it's faster than checking out the whole tree via CVS.

Our source tarballs contain CVS info. If you have a tarball dated 2000-06-01 or later, it is already set up to talk to our public server, root.cern.ch. All you need to do is this:

That's it! This will cause the server to send the changes that have been made in the CVS repository since the time the tarball was created, bringing you up to date.


Staying up-to-date

To keep your local ROOT sources up-to-date with the CVS repository you should regularly run the command:

   cvs -z3 update -d -P


Getting a previous version

All ROOT releases are taged with tags of the form: ``v2-25-01''. So to get a previous version just do:

   cvs -z3 checkout -r v2-25-01 root


Installing ROOT

For detailed install instructions see the file README/INSTALL.


Rene Brun, Fons Rademakers
Last update 22/5/2000 by FR