devel-proj-branching.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 21 Oct 2011 13:05:51 +0300
changeset 1054 1718aa7d99bc
parent 1049 a1e7d8884936
child 1055 120af6ca4d58
permissions -rw-r--r--
Custom branches.

.. -*- 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

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