Changes between Version 3 and Version 4 of BranchingPolicy


Ignore:
Timestamp:
08/26/10 14:26:49 (4 years ago)
Author:
dread
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BranchingPolicy

    v3 v4  
    1313'''ultrastable''' branch is for the most stable code - proper releases, always one behind `stable`. 
    1414 
    15 This arrangement can be seen to be like a waterfall of changesets. `default` has the most, `metastable` is a subset of `default`, `stable` a subset of `metastable` etc. This is a reasonably accurate view, even working with these edge cases: 
     15This arrangement can be seen to be like a waterfall of changesets. `default` has the most, `metastable` is a subset of `default`, `stable` a subset of `metastable` etc. As the releases go down the waterfall, the bug-fixes go in the opposite direction: 
    1616 
    1717 * A branch may need a bug-fix, and this would need to be merged to all branches UP the waterfall. Even if the bug-fix no longer applies on `default` (because say the file in question has been completely refactored in the meantime), this isn't a bad thing, since you'll be alerted when you get a conflict during the merge. 
    1818 * Along with the bug-fix it may be worth adding a version change (e.g. `1.2` to `1.2.1`). This would also be usefully merged with the bug-fix up the waterfall, indicating the bug is fixed in these places too. 
    1919 
     20Unless there is a big need for a bug fixes on the more stable branches, bug fixes are best done on `metastable` (and then merged just to `default`). This saves the more stable branches from the risk of bug fixes causing other bad effects. 
     21 
    2022So the rule is: 
    2123 * Releases are merged DOWN the waterfall: `default` -> `metastable` -> `stable` -> `ultrastable` 
    22  * Bug fixes should be merged UP the waterfall: `default` <- `metastable` <- `stable` <- `ultrastable`  
     24 * Bug fixes should be merged UP the waterfall: `default` <- `metastable` ( <- `stable` <- `ultrastable` ) 
    2325 
    2426(One future problem with this system might arises when you want a change on a branch which you don't want merged up the waterfall and wouldn't cause a conflict. We've not thought of a use case like this, so we will deal with not being able to merge upwards, it if it arises.)