Differences between revisions 4 and 5
Revision 4 as of 2014-04-01 23:44:34
Size: 1992
Editor: bbb
Comment:
Revision 5 as of 2014-06-10 15:59:03
Size: 2434
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. 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.
Line 35: Line 35:
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. As of LITMUS^RT^ 2014.2, the following branch structure is used:
Line 37: Line 37:
If you want to extend or modify LITMUS^RT^, it is recommended that base your work on the `master` branch, but follow the developments in the `staging` branch to see what changes & bug fixes are coming up on the horizon.  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.
}}}

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.

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