[asterisk-dev] 1.6.X branches

Leif Madsen leif.madsen at asteriskdocs.org
Wed Jun 3 08:03:42 CDT 2009


Gavin Henry wrote:
> I've recently been given svn access to look after the LDAP things, but
> I can't find anywhere (in the branch code or an annoucement) that
> explains the purposes/reasons behind 1.6.0, 1.6.1 and 1.6.2 instead of
> just the 1.6.0.X
> 
> Would someone be so kind as to enlighten me?


Basically, the 1.6.x.y is either feature releases, or bug fixes inside that 
release where 'x' is the feature release (new features introduced from trunk) 
and 'y' is the bug fix release within that branch.

So think of each 1.6.x as a 1.4 branch where there are no features added, just 
bug fixes. These bug fixes are tagged as 1.6.x.y.

Each 1.6.x release is a new branch made from trunk, and thus have new features 
and changes since the previous 1.6.x release. Here is an ASCII diagram to help 
visualize it.

                                 1.6.0.0  1.6.1.1
     __________ (1.6.0 branch)_______|_____|___...
    /
------------------------------------------> trunk (new features, ABI changes)
            \                        1.6.1.0   1.6.1.1
             \_____ (1.6.1 branch)_____|________|____...


Hopefully that helps make things a bit more clear. New features never go into an 
existing branch -- only into trunk. When a new branch is created, it inherits 
the features currently in trunk at that time.

Note that several branches are maintained at once now (current policy is to 
maintain 3 branches at a time, plus 1.4). So when you make a change (bug fix for 
example) you commit to 1.4 (if it applies), then merge to trunk (merge4trunk), 
and then merge back down to each of the 1.6.x branches that it applies to 
(mergetrunk6).

I'm sure any other developers will correct me if I was incorrect in the merge 
order above.

Thanks!
Leif Madsen.
http://www.oreilly.com/catalog/asterisk
http://www.leifmadsen.com



More information about the asterisk-dev mailing list