FeatureHighlights/ProductSeries

Not logged in - Log In / Register

Revision 1 as of 2007-03-25 17:17:54

Clear message

Major branches - Series

When we think of the way a project organises itself, there are some branches which are special - they represent major lines of development, and releases are "cut" from them. Typically these branches represent:

We call each of these "major" lines of development a "series", because it primarily represents a "series of releases of the same major version".

Note, there are usually multiple series for a given project, especially one that has produced stable releases. For example, a project might have a version 1.2 which is still supported, a 1.3 which is the "latest stable version" and recommended for new users, and a trunk which represents the current line of active development and the source of snapshot test releases for the next stable version.

Take a look at the Zope3 project:

The stable and trunk series are shown in the "Timeline" section of the page:

There's some flexibility in the way projects name and organise themselves. For example, in the GNOME project, the "development trunk" is like a series with an "odd" version number, like 2.17, and when it is ready for release it gets branched with an "even" version number like 2.18. Then once the stable release is made, it gets branched to 2.19, which is the new "trunk". Sometimes projects also call the trunk "MAIN", a term from the days of CVS.

Series and Branches

In Launchpad, each project can have multiple Series registered, and each of those Series can be associated with a branch. By default, if you don't specify which series you are interested in, you will get the current development trunk series (usually called trunk, but not always). For example, in the example where you branched GNU Hello, you typed:

This command specifies only the project name, so you would have been given the development trunk. If there was a 1.3 series with a branch associated with it, you could have typed bzr branch http://launchpad.net/gnuhello/1.3 and received the tip of that stable branch. Note that this is different to the previous approach of branching from a specific person's version of a project - here you are branching from one of the "major project branches", or Series.

Not every Series will have a branch associated with it. Often, Series are registered so that they can be a handle for a set of translations for a particular major version of the software, or so that bugs can be targeted there for release management. But we do encourage you to make sure, when you branch from trunk to make a new major stable release, that you setup a Series for it and link the branch to it.