devel-proj-branching.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 21 Oct 2011 13:48:48 +0300
changeset 1057 8e946a8709e0
parent 1055 120af6ca4d58
child 1060 3d6440915224
permissions -rw-r--r--
Versioning for products.

.. -*- coding: utf-8 -*-

===========================
 Project branching models.
===========================
.. contents::

Branch types.
=============

Development branch.
-------------------

 * For main development activities.
 * For bug fixes, small enhancements.
 * For development on initial project stage.
 * Does not for experimental features!

Names: dev, devel, master, trunk, default

Feature branch.
---------------

 * For experimental features, that can be striped.
 * For large changes that can break main development.
 * For incompatable changes that can break main development.

Names: feature-xxx

Release branch.
---------------

 * Used to support long running major/minor versions (include bug fixes or
   features backporting).
 * No any new features development.
 * Release branch created from development branch. Decision about branching come
   from release manager after reviewing code quality by QA team.
 * From release branch you make tags to product releases for customer.

Names: vXX.YY.ZZ, maint, stable

Custom branches.
----------------

Custom branches intended to store modification to main release to make custom
product build.

Don't use custom branches at all. Instead redesign project to use customizable
build. Expected problem:

 * You must manually propagate bug fixed to all custom branches.
 * It is not possible merge custom branches back to development branch.

Workflows.
==========

Regular development workflow.
-----------------------------

Regular development stay in development or feature branches.

After completing feature set and testing feature branch merged with top of main
development branch tested again and merged to main development branch.

After completing feature set and testing main development branch merged to
release branch.

Bug fixing workflow.
--------------------

TODO