Software documentation

Development tools

Code Structure

Techniques and Standards

How To

Functional Info

Background Info

JMRI: Getting the old CVS Code

This page is kept for historical purposes only!

JMRI has migrated away from CVS for version control to SVN in July 2011, and on to Git in September 2015. For access to the current JMRI source code, please see the Git repository information.

JMRI release 2.12 (and earlier) were made from CVS, and to access that source code, you should use the detailed instructions below.


You can download the JMRI source code via CVS using:

cvs login
cvs co all 

(If asked for a password, just hit return)


Our source code up to JMRI version 2.12 was distributed using CVS. (We also kept the web site in CVS, if you'd like to work with it directly.) If you want to work with the code, a few minutes installing CVS is well worth it. We're sorry, but we just can't support other methods (sending .zip files, etc), as they're just too error prone.

Many computers come with CVS installed, including Linux and Mac OS X. If you're using Windows, you will need to install a CVS "client" program like WinCVS. A recent version can be downloaded from:

To get a copy of the source for your own use, you can use "anonymous checkout". For a command line cvs client, make a new directory for the project, change to it, and tell CVS you exist with

cvs login
This "login" line is only needed once; after that, it is remembered on your local machine. You may be asked for a password. If so, just hit return, as the empty password will be accepted. You can then get a copy of the code with
cvs co all

If you're using a GUI-based client like WinCVS, pull down the "admin" menu and select "command line" to get a place to type these commands. On other computers, you can type them directly on the command line.

If you have an existing copy of the code and want to update it to the most recent contents of CVS, the second command is:

cvs -q update -dA

See also the CVS FAQ page.

After the checkout is complete, you'll find directories called "xml", "resources", "jython", "help", "lib", "java" and others. Change to the "java" directory. There, you will find a "src" directory that contains the source code for JMRI itself, and a "tests" directory that contains various test routines.

You can look at the code with your favorite text editor. To compile and run it, you need one of the compilation tools described on the bar at the left.

Once you're working with the code, you'll probably create some improvements you'd like to contribute back to the project. This is where CVS has tremendous advantages; with the appropriate permissions and commands, you can merge your changes back into the common source automagically. Contact us when you're ready to do that or see the info on contributing.

Windows Details

Getting and updating the code with tortoisecvs

To get a initial checkout from CVS for your own use after installing Make a new directory for the project, by creating a folder named "JMRISourceCode". Right Click (control-click) on that folder and select CVS CVS Checkout". In the pane that opens for the CVSROOT enter

For the Server enter
On the lower right of the screen is a "Fetch List" button. Click that and a list will appear, click on the 'all' line. Then Click "OK" on the bottom of the pane. A new pane will open and the files will be downloaded; at the bottom of that pane is a check box called "Close on Completion", check it. When the pane closes, the folder you created will have folders inside it with all the JMRI files.

Once you have performed the initial checkout from CVS in your local folder, to update them select all of them and then Right Click and select "CVS Update". You can also just update a single folder by selecting it, etc.