Development/ReleaseManagement

From starLiGHT.Engine
Jump to: navigation, search

The information provided in this article are not finally implemented in this way. It is a proposal which should be used.

Contents

Branching and Release Management Policy

There are usually three active branches at any given time:

  • The stable branch
  • The development branch
  • The experimental branch

Release packages from stable and development branches which are created by regularily builds are linked on the home page. The experimental branch is usually internal.

For developers and svn user, the latest code is always available from our subversion repository.


Stable branch policy

The stable branch should receive only the most important bug fixes, so that:

  1. The development resources are focused on the development branch, avoiding porting efforts when possible.
  2. The stable branch is kept very stable and hence guarantee a safe upgrade path for everybody

For these reasons, we will fix on the stable branch the following kind of issues:

  • Bugs with severity "major", "crash" or "block"
  • Bugs that are generating a lot of support requests

Development branch policy

The development branch (normally the SVN trunk) is where all the interesting things happen; new features and bug fixes are usually applied here first, then tested and ported to the stable branch when deemed necessary.

Whenever the development branch reaches a state considered good enough for becoming the stable one, the following happens:

  • A new branch is created from SVN trunk
  • A release candidate (RC) is created off this new branch
  • The RC branch enters a feature freeze mode (no new features added)
  • Testing and bug fixing continues on the RC branch until it reaches a stable state
  • ToDo's and Warnings needs to be resolved before it reaches a stable state

During feature freeze phase:

  • New features can still enter SVN trunk
  • Only changes described in the stable branch section of this document are allowed

At release time:

  • The RC branch becomes the new stable branch
  • Support ends for the old stable branch
  • Development resumes on SVN trunk

Experimental branch policy

The experimental branch is usually an completly internal thing. These branches are basically the same as the development branch (the trunk) but we will test to integrate experimental or new technology or test some new ideas. If these reaches a usable state it will be integrated in the development branch and will become stable at some time.

Experiments made in the experimental branch could be discarded at any time if it turns out that this is not usable or necessary for the engine.

Language: English
Personal tools