We use the branch-per-release model of development with Subversion. We tend to have 2 or 3 active branches at a time – trunk (development), and two release (maintenance) branches (i.e. 5.0 and 6.0).
The problem we keep running into is that if we find a bug in 5.0 and fix it in 5.0, not everyone always remembers to merge their fixes into all branches into which the bugfix needs to be merged (6.0 and trunk in this case).
How do you make sure bug fixes are merged into all necessary branches? What is a good way of going about this?
The best way is probably just communication and education. Have team meetings – make sure that all of your developers are on the same page. We have a similar SVN structure, and whenever I fix a bug, the first thing I ask myself after committing is, “where else does this need to be merged?” – it’s just been hammered into my mind through communication and repetition.
Put the list of branches getting merged bugs on a wiki page or other public document so that it’s easily findable by all developers.