On Thu, Nov 29, 2012 at 11:56 AM, Andy Parker <[email protected]> wrote: > merge up through all later branches by using “--no-ff --log”
With the move to semantic versioning, this recommendation has bitten me while maintaining stdlib. I found that the difference between new functionality and bug fixes makes a big difference when merging something up and across major versions. For example, consider a piece of new, backwards compatible functionality that we're compelled to merge into Puppet 3 and Puppet 4. Assume the latest versions are 3.1.1 and 4.2.1 Following this guide, we would merge the change set into 3.x and then up through... 4.0.x => 4.1.x => 4.2.x => 4.x => master. This is where the "all" later branches gets to be tricky. I've found for stdlib that I've needed two different merge up strategies depending on the type of change. Bug fixes go into the oldest patch branch, let's say 3.0.x in this example, then up through *all* branches. So, for example: 3.0.x => 3.1.x => 3.x ... And here's where things get weird ... => 4.x => master and then again, but 4.0.x instead of 4.x; 3.0.x => 4.0.x => 4.1.x => 4.2.x => 4.x => master. New, backwards compatible functionality is much easier: 3.x => 4.x => master. Skip all of the patch branches. Is this complexity simplified by only patching the latest minor release of a major release for both bugs and features? -Jeff -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
