[asterisk-dev] Tension between trunk and release branches

Tony Mountifield tony at softins.clara.co.uk
Thu May 31 09:28:07 MST 2007


As I mentioned in my thread about a proposed new Meetme feature, there
is an interesting tension between release branches and trunk, which I
don't think has ever been adequately addressed:

a) People running production systems will naturally want to run a
release branch, not the trunk. Trunk is used to test out new features,
changes to architecture, etc., and is fine for "pure" developers, e.g.
those at Digium whose job it is just to work on new features for the
general enhancement of Asterisk.

b) Most people deploying Asterisk in the field develop new features
because they have a customer need to run that feature in a production
system. Therefore they develop it for themselves on a release branch,
such as 1.2 or 1.4. This is certainly what I do.

c) On submitting such a feature to Mantis, it only ever gets accepted
into trunk, and so the originator has to "forward-port" it to trunk, and
also keep maintining his own backport until such time as trunk becomes a
new release branch. It then still takes a long time until the release
branch is bug-free enough to run in production systems.

d) How can the above points be addressed? It seems we need a mechanism
to add non-invasive extra features to a production-quality branch after
they have been sufficiently tested. By "non-invasive", I mean features
that are effectively just clean additions without making architectural
changes to Asterisk as a whole. All the dangerous
completely-break-it-then-fix-it changes would still be done in the
"experimental" trunk. (Yes, I know that team branches are used nowadays
for many initial developments before they are ready for trunk).

Thoughts?

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org


More information about the asterisk-dev mailing list