[Zope-Coders] branch madness

Matthew T. Kromer matt@zope.com
Wed, 17 Oct 2001 14:15:56 -0400


seb bacon wrote:

>So now we've got 2-4-2b1, I'm confused all over again about branches
>off branches.  Could someone patiently unwind it all for me?
>
>Is 2-4-2b1 rooted off 2-4-2?  Since 2-4-2b1 is a release candidate,
>does this mean all activity on the 2-4-2 branch should stop?  Doesn't
>this mean new bugfixes should now be going into a 2-4-3 branch?  
>
>seb
>

2.4.2 was only supposed to be a tag, but I let my fingers run on 
automatic and created it as a branch, rather than a tag.  "Deal with it" 
is less effort than unwedging it.

2.4.2 final will still get made off of the 2.4 branch; that is, a 2.4.2 
final tag will get applied, and anything hit between 2.4.2 and 2.4.2 
final constitutes 'new' fixes for the final.

Note however, that if no SERIOUS bugs show up in 2.4.2 beta 1, 2.4.2 
beta 1 will probably BE final -- hence an admonition to let me know what 
constitutes a bug in the beta that went out vs ongoing maintenance on 
the 2.4 branch.  The reason I want to know is I may choose to route 
changes from 2.4 branch into 2.4.2 branch rather than closing my eyes 
and retagging.

I personally prefer three layer branching of (major, minor, maintenance) 
but it has been suggested that this is too cumbersome, and that 
"maintenance" should just be a milestone along the minor branch.  Said 
differently, I advocate that once a maintenance release is formed, the 
only changes incorporated into that release are against things already 
IN the release, not new fixes (ie maintenance activity should be for 
fixes-in-error, not NEW maintenance).  One might consider that if 
release 2.4 has product A and B, that patch "a.1" patches A, and is 
incorporated into a release cycle 2.4.1.  After the creation of 
2.4.1-beta, if patch "a.1" is corrected, it should be routed to 
2.4.1-final, but some patch "b.1" against B should not be.  Another way 
to express that is that a maintenance release can still contain "known 
bugs" that will be fixed in a subsequent release, and that a finalized 
maintenance release does not contain all activity to date.

Clearly, if there's something serious in 2.4.2 b1 I want to hear of it, 
but otherwise, patch 2.4 trunk and the mainline.