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.

Reply via email to