PHProjektReleasemanagement

From Wikipedia

Jump to: navigation, search

To increase the stability of the next releases of PHProjekt, we are switching from a continious development scheme to a release based.

General procedure

While the main development stays on the main ("head") tree, the releases are going to happen on their own branches. New features and changes of the database or functionality only happen in the head tree, not in the stable branches.


For example:

  • HEAD:

Main development tree, everything new happens just here.

  • PHPROJEKT50

PHProjekt 5.02 ist the current stable, released version.

  • PHPROJEKT51

Currently released as PHProjekt 5.1. Only bugfixes are done. All the PHProjekt 5.1.X releases are made from this branch.

  • PHPROJEKT52

The current stable version. Only bugfixes are done. All the PHProjekt 5.1.X releases are made from this branch.

  • PHPROJEKT60

The next Release of PHProjekt. HEAD until there are enough features to branch PHProjekt 6.


Release Procedure

  • Minor releases:

5.0 -> 5.0.1: Bugfix release, no change of functionality or database, no additional features, no update routine required

  • Medium releases:

5.0 -> 5.1: additional features, change of database structure, update routine required

  • Major releases:

5.x -> 6.0: we break important things. Addons, Modules and the like are not expected to work any more. in exchange the user gets lots of nice new features.


Working with CVS

If you want to do a bugfix, is has to be added to the stable and to the head branch.

  • To checkout the HEAD branch:

export CVS_RSH=ssh

cvs -z3 -d:ext:developername@thinkforge.org:/cvsroot/phprojekt5 co phprojekt50

  • To checkout the stable branch:

export CVS_RSH=ssh

cvs -z3 -d:ext:developername@thinkforge.org:/cvsroot/phprojekt5 co -r PHPROJEKT52 -d phprojekt52 phprojekt50

In case this isn't working (error in cvs might cause problems) try instead:

cvs -z3 -d:ext:developername@thinkforge.org:/home/gforge/cvsroot/phprojekt5 co -r PHPROJEKT52 -d phprojekt52 phprojekt50

  • To change the current sandbox:

cvs -z3 -d:ext:developername@thinkforge.org:/cvsroot/phprojekt5 update -dP -r PHPROJEKT52

cvs -z3 -d:ext:developername@thinkforge.org:/cvsroot/phprojekt5 update -dAP

Personal tools