Differences between revisions 3 and 6 (spanning 3 versions)
Revision 3 as of 2014-04-01 23:42:51
Size: 1892
Editor: bbb
Comment:
Revision 6 as of 2015-06-27 08:35:32
Size: 1811
Editor: bbb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
There are two sets of repositories: on GitHub and bare repositories hosted by MPI-SWS. The `main` and `staging` 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.
The main development repositories are hosted on GitHub.
Line 13: Line 9:
== Repositories hosted by MPI-SWS == There are three main repositories:
Line 15: Line 11:
To clone the kernel repository (Linux + LITMUS^RT^), enter the following command:
{{{
git clone
http://www.litmus-rt.org/src/litmus-rt.git
}}}
 * The kernel repository (Linux + LITMUS^RT^): [[https://github.com/LITMUS-RT/litmus-rt]].
Line 20: Line 13:
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.  * The `liblitmus` repository (the userspace library & assorted tools): [[https://github.com/LITMUS-RT/liblitmus]].
Line 22: Line 15:
To clone the `liblitmus` repository (the userspace library), enter the following command:
{{{
git clone http://www.litmus-rt.org/src/liblitmus.git
}}}
 * The Feather-Trace tools repository (the tracing tools, aka `ft_tools`): [[https://github.com/LITMUS-RT/feather-trace-tools]].
Line 27: Line 17:

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
}}}
Line 35: Line 20:
In each of the repositories, there are two relevant branches: `master` and `staging`. The former branch changes less often than the latter one. In particular, we try to not rebase `master` (unless porting to a new kernel) so that it is always possible to run a simple `git pull`, whereas `staging` may be rebased at any time as needed. Roughly the following branch structure is used:
Line 37: Line 22:
If you want to extend or modify LITMUS^RT^, it is recommended that you follow the developments in the `staging` branch.  1. The `master` branch contains all merged patches on top of the latest release.

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

 1. When the time comes, `next` will contain the rebased version that will become the next stable release of LITMUS^RT^.

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, LITMUS^RT^ will be squashed and rebased in `next`. When a new release is made, `master` will be reset to `next`.

{{{#!wiki important
'''Don't develop in `master`'''

When developing your own plugin or any other changes to LITMUS^RT^, 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.

Public Repositories

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:

Which branch to use?

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

How to contribute?

All help is welcome! Simply send a patch series to the mailing list or create a pull request on GitHub.

Repositories (last edited 2015-06-27 08:35:32 by bbb)