The LITMUSRT source code is managed using the git version control system.
The main development repositories are hosted on GitHub.
There are three main repositories:
The kernel repository (Linux + LITMUSRT): https://github.com/LITMUS-RT/litmus-rt.
The liblitmus repository (the userspace library & assorted tools): https://github.com/LITMUS-RT/liblitmus.
The Feather-Trace tools repository (the tracing tools, aka ft_tools): https://github.com/LITMUS-RT/feather-trace-tools.
Which branch to use?
Roughly the following branch structure is used:
The master branch contains all merged patches on top of the latest release.
prop/ branches (e.g., prop/topic-1, prop/topic-2, etc.), which are topic branches containing change proposals.
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.
How to contribute?
All help is welcome! Simply send a patch series to the mailing list or create a pull request on GitHub.