Sparked by a discussion about a possible Rockbox release on the IRC channel
, the talk moved to the Rockbox development model, since the two are no
doubt linked. After this discussion, I reached at a model that I think could
very well make it easier for Rockbox to produce releases, while
sacrificing very little flexibility. My proposal is as follows:
As now, all development happens in trunk.
Once a release is wanted (for a number of different reasons I'll mention
later), the current trunk is branched and that new branch will become the
Work will now focus on fixing bugs in the release for a set period of time,
or until any major bugs are fixed (what constitutes a major bug needs to be
considered carefully, or the branch could get stuck for far too long without
getting released). Once this is done, the branch is released as on official
stable version. Until the release is done, work can continue in trunk, but
should be mostly discouraged in my opinion. This is also the time to touch
up the manual, translations and perhaps rbutil (inside the release branch).
Development now continues in trunk, and when bugs are found that are present
in the stable branch, they should be backported (carefully) and
point-releases should be made (perhaps depending on the severity of the bug,
either immediately or once a few bugs have been fixed). Only bug fixes go
into the release branch - if necessary as work-arounds rather than proper
fixes if the fix is too involved and risks introducing new bugs.
Reasons to branch for a new release could be:
1. It's been too long since last release
2. Current trunk contains many features that we want to release
3. Backporting fixes from trunk is getting difficult because trunk and
release are too far apart.
 Started http://www.rockbox.org/irc/reader.pl?date=20070809#14:22:39
 Whether it's important to produce releases is another discussion and I
imagine it'll start its own sub-thread, but for the sake of this mail, I'll
say it is and get on with it.
Received on 2007-08-09