Hi, On Wed, Jul 23, 2008 at 9:35 AM, Felix Meschberger <[EMAIL PROTECTED]> wrote: > As corrolary to these notes, I would add (yes these will be controversial, I > know): > > * Branches are used for development and not for releases. > * Releases are (almost) only cut from trunk > * In case of an important bugfix to be applied to an old > release, a branch will be created from the respective > release tag [...]
-1 I'm more a fan of release branches than development branches. Why? a) It makes it easy to produce patch releases containing just bug fixes. Such maintenance releases are important as they can be easily applied in production with low risk of regressions and zero need for configuration changes. b) Release branches only require "one-way merging" from trunk. This is quite simple and pretty well supported by Subversion. Development branches however require "two-way merging", first to keep up with other changes in trunk and then to merge changes back to trunk. The merge tracking feature in Subversion 1.5 makes this easier, but it's still tricky. c) I think it's important that we have all development happening in the same tree. Any extensive development effort that lasts longer than a few weeks will require coordination with other developers, and the easiest way to do that is to keep it in trunk. Our trunk is (and should be) the place where bleeding edge development happens. We use branches so that trunk can continue to evolve while a feature release is being stabilized or maintenance releases are being prepared. BR, Jukka Zitting