Software documentation

Development tools

Code Structure

Techniques and Standards

How To

Functional Info

Background Info

JMRI: Getting the old SVN 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 4.1.1 (and earlier) were made from SVN, and to access that source code, you should use the detailed instructions below.


You can download the JMRI source code from Subversion using:

    svn checkout


Our source code up to JMRI version 4.1.2 was distributed using Subversion. (Until then we also kept the web site in Subversion, if you'd like to work with it directly.) If you want to work with the code, a few minutes installing Subversion 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.

A few computers will come with Subversion installed, mostly various Linux systems. If your computer does not have it installed, you will need to locate and install the needed client software. See the Subversion binary downloads page for packages for many operating systems (including Mac OS X, Windows and different Linux flavors).

Many development environments (e.g., Netbeans or Eclipse) will have support for Subversion, either directly or as an add-on. Check the documentation for your favorite IDE to check on SVN support.

The Subversion server at SourceForge does not require any user information when you check out a copy of the code.

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

  svn update

See also the Subversion FAQ page.

After the checkout is complete, you'll find a top level directory called java, with subdirectories 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: Ant, Eclipse, NetBeans, etc.

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 Subversion 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.

Access to Releases 2.12 and older

The best way to retrieve the source for releases 2.12 and earlier is from the CVS Repository. Please see those instructions for details.