In the past, we've had a confusing situation for users, in which
"upgrading" from one branch to another could result in known
regressions.  In particular, consider our current situation:

* GCC 4.0.2 is the latest release on the 4.0 branch.

* GCC 4.1 will be released soon.

* GCC 4.0.3 will be released at some time in the future.

Suppose that after GCC 4.1, we fix a bug, applying the fix to both the
4.0 and 4.1 branches.  Then, we release GCC 4.0.3, before GCC 4.1.1.
The result is then that a user who uses GCC 4.0.3, and upgrades to GCC
4.1.0, sees a regression for the bug in question.  That seems confusing.

We didn't use to have this problem because we use to have only one
active release branch.  However, for a while now, we've had at least
two, and sometimes three, active release branches, responding to a
demand from some users for longer lifetimes for our release branches.
So, now we have the problem outlined above.

The best solution I can think of is to synchronize releases across
active branches so that GCC 4.0.3 and GCC 4.1.0 would be released
simultaneously.  The other option would be to postpone applying patches
on the 4.0 branch until after a 4.1 release has been made with that
patch applied, but that seems administratively difficult.

As RM, I am willing to manage the releases of two active branches
together.  I've already announced that 4.0.3 would be released shortly
after 4.1.0, so I think we can achieve near-simultaneous release of
4.0.3 with 4.1.0, and the 3.4.x branch is official dead at this point.
However, assuming that Gaby plans to take over the 4.0.x branch (does
he?), then I would need Gaby's buy-in to ensure simultaneity going forward.

I'd also be interested in other feedback.  The obvious negative with the
proposed plan is that it means that more scarce resources (RM, testers,
etc.) are required over a shorter period, rather than being spread
across time.

Thoughts?

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713

Reply via email to