devel-proj-branching.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 13:01:02 +0200
changeset 1906 6f6d48f88341
parent 1905 fba288d59662
child 1912 8b81a8f0f692
permissions -rw-r--r--
Fix TOC declaration.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1061
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1061
diff changeset
     2
.. include:: HEADER.rst
1032
4decc3e00bb6 Fix coding and contents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1026
diff changeset
     3
1019
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
===========================
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 Project branching models.
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
===========================
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
     8
   :local:
1019
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
Branch types.
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
=============
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
Development branch.
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
-------------------
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
 * For main development activities.
1025
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    17
 * For bug fixes, small enhancements.
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    18
 * For development on initial project stage.
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    19
 * Does not for experimental features!
1019
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
1049
a1e7d8884936 Small fixes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
    21
Names: dev, devel, master, trunk, default
1019
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
1025
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    23
Feature branch.
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    24
---------------
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    25
1049
a1e7d8884936 Small fixes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
    26
 * For experimental features, that can be striped.
1025
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    27
 * For large changes that can break main development.
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    28
 * For incompatable changes that can break main development.
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    29
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    30
Names: feature-xxx
6d7c8cb191cd Feature branch.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1021
diff changeset
    31
1019
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
Release branch.
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
---------------
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
 * Used to support long running major/minor versions (include bug fixes or
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
   features backporting).
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
 * No any new features development.
1020
1ac6ead8a97b Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1019
diff changeset
    38
 * Release branch created from development branch. Decision about branching come
1ac6ead8a97b Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1019
diff changeset
    39
   from release manager after reviewing code quality by QA team.
1019
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
 * From release branch you make tags to product releases for customer.
6b9436fefab8 Branch types.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
1055
120af6ca4d58 Small fix.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1054
diff changeset
    42
Names: vXX.YY.ZZ, maint, stable
1021
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1020
diff changeset
    43
1054
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    44
Custom branches.
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    45
----------------
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    46
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    47
Custom branches intended to store modification to main release to make custom
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    48
product build.
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    49
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    50
Don't use custom branches at all. Instead redesign project to use customizable
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    51
build. Expected problem:
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    52
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    53
 * You must manually propagate bug fixed to all custom branches.
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    54
 * It is not possible merge custom branches back to development branch.
1718aa7d99bc Custom branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1049
diff changeset
    55
1026
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    56
Workflows.
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    57
==========
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    58
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    59
Regular development workflow.
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    60
-----------------------------
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    61
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    62
Regular development stay in development or feature branches.
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    63
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    64
After completing feature set and testing feature branch merged with top of main
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    65
development branch tested again and merged to main development branch.
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    66
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    67
After completing feature set and testing main development branch merged to
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    68
release branch.
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    69
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    70
Bug fixing workflow.
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    71
--------------------
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    72
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    73
TODO
a6f51fcdb6f2 Regular development workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1025
diff changeset
    74
1060
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    75
Single line workflow.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    76
---------------------
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    77
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    78
 * Only single development branch exist.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    79
 * Release means finish developing set of features and bug fixes on branches and
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    80
   moving product build to release server..
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    81
 * After testing and stabilising release was made. This means:
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    82
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    83
   * VERSION file was updated.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    84
   * CHANGE file was filled with feature set, version, data and VCS revision
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    85
     number.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    86
   * Mark release by tag in VCS.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    87
   * Invoke build of sources which marked by tag. Copy result to release server.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    88
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    89
 * If bug discovered in some version, it fixed at development branch and
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    90
   released with new minor/fix product version.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    91
 * Previous major/minor releases do not supported (just use latest release).
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    92
   Users always forced to update to latest release.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    93
 * Each new release placed in hierarchy::
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    94
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    95
     /vendor/product/XX.YY.ZZ/*
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    96
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    97
   and symlinked to::
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    98
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
    99
     /vendor/product/latest/
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   100
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   101
Example of release timeline::
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   102
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   103
  +--+------+------+------+------+------+------+------+------+---->
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   104
  dev|      |      |      |      |      |      |      |      |
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   105
     v      v      v      v      v      v      v      v      v
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   106
    t0.1.0 t1.0.0 t1.0.1 t1.1.0 t1.1.1 t1.1.2 t1.2.0 t2.0.0 t2.1.0
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   107
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   108
Single development branch with branches for bug fix in major versions.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   109
----------------------------------------------------------------------
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   110
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   111
 * Each major release have **own** branch.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   112
 * Another single branch reserved for development.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   113
 * Latest major relase branch is active. All older major branches is passive.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   114
 * Passive major branches was used for **only** for minor bug fixes on latest
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   115
   code from this major version series (no new features).
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   116
 * Features developed in development branch. Before release in merged to active
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   117
   major release branch.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   118
 * Bug was fixed in oldest major version branch for which it must be provided
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   119
   and merged to all next major version branches and development branch.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   120
 * Release means finish developing set of features and bug fixes on branches and
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   121
   moving product build to release server..
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   122
 * After testing and stabilising release was made. This means:
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   123
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   124
   * VERSION file was updated.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   125
   * CHANGE file was filled with feature set, version, data and VCS revision
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   126
     number.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   127
   * Mark release by tag in VCS.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   128
   * Invoke build of sources which marked by tag. Copy result to release server.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   129
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   130
 * If bug discovered in some version, it fixed at development branch and
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   131
   released with new minor/fix product version.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   132
 * Previous major/minor releases do not supported (just use latest release).
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   133
   Users always forced to update to latest release.
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   134
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   135
Example of release timeline::
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   136
1061
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   137
  +--+-----+----------------------+-----+----+------+------+----->
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   138
  dev|     |            ^     ^   |     |    |      |      |
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   139
     |     |            |     |   |     |    v      v      v
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   140
     |     |            |     |   |     |    +--+------+------+-->
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   141
     |     |            |     |   |     |    b2 |      |      |
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   142
     |     |            |     |   |     |       v      v      v
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   143
     |     |            |     |   |     |      t2.0.0 t2.0.1 t2.1.0
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   144
     v     v            |     |   v     v
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   145
    t0.1.0 +---+------+-+---+-+-----+------+------+------+------+--->
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   146
           b1  |      |     |       |      |      |      |      |
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   147
               v      v     v       v      v      v      v      v
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   148
              t1.0.0 t1.0.1 t1.0.2 t1.1.0 t1.2.0 t1.2.1 t1.2.2 t1.2.3
1060
3d6440915224 Single development branch with branches for bug fix in major versions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1055
diff changeset
   149
1061
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   150
In this example we release tags **1.0.1** and **1.0.2** with bug fixes in branch
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   151
**1** as development branch was not ready for production.
4c3c9b4f8d73 Show bug fixes in branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1060
diff changeset
   152