Projects/SeriesMilestonesReleases/Draft

Not logged in - Log In / Register

Revision 1 as of 2008-03-13 22:34:28

Clear message

DRAFT: this page is a work in progress. Please [:Feedback:seek further help] or check the [:TitleIndex:wiki index] for a complete page on this topic.

ContentsBRTableOfContents

Overview

Let's look at how you can use Launchpad to plan your project's development and to record releases:

Launchpad doesn't impose a particular workflow on your project, so how and whether you use these depends on what value you feel they'll bring.

Series

When we think of the way a project organises itself, there are major lines of development from which releases are "cut". Typically these lines of development represent:

We call each of these "major" lines of development a "series" because they represent a series of releases of the same major version.

In Launchpad, each series almost behaves like a sub-project within the project as it can have:

Let's take a look at the [https://launchpad.net/bzr Bazaar] project as an example.

attachment:bzr-timeline.png

Series in the Bazaar project

A project usually has multiple lines of development, particularly if it has previously produced stable releases. In the Bazaar example you can see:

Naming a series

It's up to the project what each series represents and what the naming convention is. For example, in the GNOME project, the "development trunk" is a series with an odd version number, such as 2.17. When it is ready for release, it is branched with an "even" version number, such as 2.18. Once GNOME make the stable release, they branch it to create 2.19, the new "trunk".

Sometimes, projects also call the trunk "MAIN", a term from the days of CVS.

For convention, we encourage projects to call their development focus "trunk" and to use that same branch for development over time. When creating a new stable series: branch from trunk, create the series and link the branch to that series. This ensures that people who create a checkout of "trunk" don't find that it goes stale because it has later become a stable series.

When you register a series, the description you give it tells other people what your intentions are. If we look at Bazaar's bzr.dev series overview page we can see that it's described as "...the development mainline where new releases are published".

attachment:bzr-sev-series-overviewtimeline.png

The bzr.dev series overview

Series and code

If you have code registered in Launchpad against your current development focus, anyone can create their own Bazaar branch of it using just a few keystrokes.

There's more about using Launchpad and Bazaar together later in this guide. However, for now fire up your terminal and try:

$ bzr branch lp:pyroom
Branched 41 revision(s).

This will create a local branch on your machine of the Pyroom text editor's current development focus. Replace pyroom with the Launchpad name of any project that has code registered against a current development focus in Launchpad.

If you want to get the code for a different series, simply specify the series name after the project name:

$ bzr branch lp:pyroom/0.1
Branched 26 revision(s).

We'll take a look at using series with each of Launchpad's applications later in the guide, including marking bugs and blueprints as series goals.

Milestones