Disruptive work on a stable branch

I sat down to write a screed on the wonky Aviary branch happening at mozilla.org, but I’m a little under the weather and thoughts aren’t flowing as clearly as I’d like. I might come back to this later, but thought I’d post what I have just so it’s out there.


In Real Life I do quality assurance, including being the de facto source control guru. As part of this I help to manage change in our source tree; in large part I try to stick to the best practices put forth by Laura Wingerd and Christopher Seiwald at Perforce Software, because for the most part they’re simply formalizing common sense.

The Aviary branch of the Mozilla browser and mail programs was created to be used for stable branch builds of these apps from now until the 1.0 releases of these apps. The Mozillazine FAQ says that the trunk is for Continued Mozilla backend development. Unfortunately, the brunk policy (if there is one) is that development can take place willy-nilly without being propagated back to the main codebase. Logic, and the rationale behind the branch in the first place, would suggest that disruptive changes–new features, modifications affecting interoperability, and other substantial alterations–be created off to the side and then merged into the so-called stable branch when they are–wait for it–stable. Stable changes in the branch should be merged back to the trunk sooner rather than later [because] postponed and batched change propagations can result in stunningly complex file merges.

Published by

3 thoughts on “Disruptive work on a stable branch

  1. This excerpt from The Burning Edge pretty much says it for me:

    FAQ:

    <luser> so much for 0.9 being feature complete 😉

    <blake> typeaheadfind is too cool of a feature to hide it for 1.0

    <luser> i’d just hate to see 1.0 get rushed without proper testing

    <blake> we’ll do 1.0 right

    Blake’s checkin comment:

    Find Toolbar landing. This is a work in progress but I want to get testing going. Known bugs: not currently working properly with text in textboxes, and highlight erases find selection.

  2. And more…

    LiveMarks broke bookmarks handling…. Typeahead Find was still completely broken in my aviary builds as of yesterday. I can’t use that feature at all these days.

  3. Another Aviary-branch introduction bites the dust:

    Ben talks about some big changes coming to the Extension update system. Scary, but given the state of the current mechanism, I’m glad we’re doing something….

    …we think (now) it is a better idea to… ditch the web service….

    …the code that uses the web service has not been as tested at all in a production enviroment….

    [for 0.10 they will] make all extension update checks run through the code path currently used for custom RDF update files (better tested than VersionCheck)

Comments are closed.