OpenStack branch model

Starting with the Diablo cycle, OpenStack core projects use a branching model close to the NVIE model that ensures a continuously-open trunk while still allowing to freeze features and select bugfixes in a release branch (milestone-proposed):

http://img97.imageshack.us/img97/8242/branchmodel.png

At some point before the release of a milestone (called the "branch point"), the current state of trunk is merged into milestone-proposed, and trunk continues towards the development of the next milestone. The milestone-proposed branches gets testing and bugfixes (that are also backported to trunk), until the release is tagged.

Here are pointers to the branches:

Project

trunk

milestone-proposed

Nova

lp:nova

lp:~hudson-openstack/nova/milestone-proposed

Glance

lp:glance

lp:~hudson-openstack/glance/milestone-proposed

Swift

lp:swift

lp:~hudson-openstack/swift/milestone-proposed

Version numbers

Since we have two branches in parallel, we use version numbers that allow to upgrade from one to the other.

For projects with milestones and releases (Nova, Glance):

For projects where milestones == releases (Swift):

With:

Those (seemingly complex) version numbers actually ensure that you can smoothly upgrade in all scenarios (from trunk to milestone-proposed and back to trunk and to the final version...)

Wiki: BranchModel (last edited 2011-06-01 14:45:31 by ThierryCarrez)