Public Repositories

The LITMUSRT source code is managed using the git version control system.

There are two sets of repositories: on GitHub and bare repositories hosted by MPI-SWS. The main branches should be in sync across both repository sites, so it doesn't matter which repository you choose.

Current Repositories on GitHub

All relevant repositories are also available on GitHub. If you are new to working with git, using GitHub as a starting place may be easier than using the below repositories. Pull requests on GitHub are also welcome.

Repositories hosted by MPI-SWS

To clone the kernel repository (Linux + LITMUSRT), enter the following command:

git clone http://www.litmus-rt.org/src/litmus-rt.git

Note that the litmus-rt.git repository contains a large portion of the Linux kernel repository, and will take some time to download. It is 1.1 GB in size as of February, 2011.

To clone the liblitmus repository (the userspace library), enter the following command:

git clone http://www.litmus-rt.org/src/liblitmus.git

To clone the Feather-Trace tools repository (the tracing tools, aka ft_tools), enter the following command:

git clone http://www.litmus-rt.org/src/feather-trace-tools.git

Which branch to use?

As of LITMUSRT 2014.2, the following branch structure is used:

  1. The master branch contains all merged patches on top of the latest release.

  2. prop/ branches (e.g., prop/topic-1, prop/topic-2, etc.), which are topic branches containing change proposals.

  3. When the time comes, next will contain the rebased version that will become the next stable release of LITMUSRT.

To stay up-to-date, follow the master branch. New major changes will be staged in prop/ branches and merged into master when ready. Prior to the next release, LITMUSRT will be squashed and rebased in next. When a new release is made, master will be reset to next.

Don't develop in master

When developing your own plugin or any other changes to LITMUSRT, don't work in the master branch as it is subject to rebasing when a new release is made. Instead, use topic branches to keep track of your projects. This will make it easier to track upstream releases.