We’re moving from a private branch focus to a feature branch focus. That will help us to all keep on the same page and should accelerate our progress in getting revisions cranked out and merged into HEAD with fewer (hopefully no) conflicts.
After the next merge, we’ll create an 095dev branch in SVN. We can then have everyone tweaking this branch for final fixes instead of working on their private branches and collectively merging those into HEAD.
Therefore, the majority of personal branches should become obsolete. If you’re working on a major feature or experiment, it will still make sense to do that in your local branch however.
Let’s also keep in mind that the commit log (in installers) and version should probably be updated upon completion of every major task. Likewise, commits should be done on a feature-by-feature or bug-by-bug basis. In the event one goes awry, we’ll be able to revert that commit and carry on more easily.
This will result in some very real world benefits including
fostering collaboration between everyone (no more isolated development islands) and
higher quality results faster. There should be fewer conflicts, a lot less merging to trunk, and infinitely less synching of individual branches back to trunk. This will fundamentally be like everyone committing to trunk, only we’ll have a safety net to catch the inevitable breakages.
When it’s time to merge a snapshot into the main Trunk, we need to post a message in this Topic requesting it be done. Similarly, if we need to roll back a commit, we can get that done more easily with this workflow. I’m excited about it and think it’s a very positive step in the right direction.