You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Hiram Chirino <hi...@hiramchirino.com> on 2006/05/25 20:54:05 UTC

Stable branch for ActiveMQ 4.0.x patch releases

Hi folks,

* We Will Need  a Branch *
Now that we are close to getting past the 4.0 release, I wanted to
bring up the topic of how to do bug fix maintenance for it.  I think
that the 4.0.1 release should stay focused on only including bug
fixes.  Already, I think a few too many changes have been slipping
into trunk which should not be in the 4.0.1 bug fix release, so trunk
could not be used to produce the 4.0.1.  Clearly trunk is on already
on it's way to the next 4.1 release.

* Proposed Branch *
I propose that we copy the 4.0 tagged release:
https://svn.apache.org/repos/asf/incubator/activemq/tags/activemq-4.0/activemq
to:
https://svn.apache.org/repos/asf/incubator/activemq/branches/activemq-4.0
and use that as our 4.0 stable branch which will produce the 4.0.n
series of bug fix releases.

If no body objects, I'll do create this branch early next week.

* Bug Fix Merging?? *
Also, we need to standardize how we will apply bug fixes to branches.
Once we branch, when we find a bug, we will typically need to fix the
bug in both the 4.0 and the trunk branch.  Once school of though is
apply the bug fix to the 4.0 branch and when the 4.0.1 release is
done, we merge all those fixes into trunk.  I'm not a big fan of that
approach, I've seen it fail too many times.  Reasons:
 - Bug fixes get done in trunk first usually.  Most developers I know
prefer to work in trunk: that were the cool new shiny stuff is.
  - Developers manually apply the fix to both the branch and the
trunk.  This could cause a merge conflict at the time of the merge.
They do this because either they REALLY need the fix in trunk to work
around something or they just didn't know that we merge fixes in to
trunk on bug fix release.

So I'm actually a fan of informing folks that we don't do merges on
bug fix releases and that they should manually apply their patch to
all the branches that they think could benefit from the fix.  This has
a little more up front work for the guy applying the patch (since he
has to apply it to multiple branches) but I think it leads to branches
that are more stable.

What do you guys think?

-- 
Regards,
Hiram

Re: Stable branch for ActiveMQ 4.0.x patch releases

Posted by Hiram Chirino <hi...@hiramchirino.com>.
Here's a handy svn command to reapply changes committed on one branch
to a another one:

svn merge -r 409741:409742
https://svn.apache.org/repos/asf/incubator/activemq/trunk/

I used the above command on in the 4.0 branch directory to apply the
revision 409742 change I had done to the trunk back on the 4.0 branch.

Regards,
Hiram

On 5/29/06, Hiram Chirino <hi...@hiramchirino.com> wrote:
> ok the branch has been created.
>
> On 5/26/06, Bruce Snyder <br...@gmail.com> wrote:
> > On 5/26/06, Hiram Chirino <hi...@hiramchirino.com> wrote:
> >
> > > > If you don't think we should merge bug fixes from
> > > > branches/activemq-4.0.x to the trunk, how do you propose we get bug
> > > > fixes into the next major release?
> > > >
> > >
> > > Bug fixes needs to be merged manually into trunk and all other
> > > branches manually by the person committing the fix.  So the net effect
> > > is that we constantly merging in bug fixes to both the stable and
> > > trunk branch at concurrently.  We don't wait to 'roll up' all the bug
> > > fixes on the stable branch so they are merged into trunk.
> >
> > +1 Sounds good to me.
> >
> > Bruce
> > --
> > perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> > );'
> >
> > Apache Geronimo - http://geronimo.apache.org/
> > Apache ActiveMQ - http://incubator.apache.org/activemq/
> > Apache ServiceMix - http://incubator.apache.org/servicemix/
> > Castor - http://castor.org/
> >
>
>
> --
> Regards,
> Hiram
>


-- 
Regards,
Hiram

Re: Stable branch for ActiveMQ 4.0.x patch releases

Posted by Hiram Chirino <hi...@hiramchirino.com>.
ok the branch has been created.

On 5/26/06, Bruce Snyder <br...@gmail.com> wrote:
> On 5/26/06, Hiram Chirino <hi...@hiramchirino.com> wrote:
>
> > > If you don't think we should merge bug fixes from
> > > branches/activemq-4.0.x to the trunk, how do you propose we get bug
> > > fixes into the next major release?
> > >
> >
> > Bug fixes needs to be merged manually into trunk and all other
> > branches manually by the person committing the fix.  So the net effect
> > is that we constantly merging in bug fixes to both the stable and
> > trunk branch at concurrently.  We don't wait to 'roll up' all the bug
> > fixes on the stable branch so they are merged into trunk.
>
> +1 Sounds good to me.
>
> Bruce
> --
> perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> );'
>
> Apache Geronimo - http://geronimo.apache.org/
> Apache ActiveMQ - http://incubator.apache.org/activemq/
> Apache ServiceMix - http://incubator.apache.org/servicemix/
> Castor - http://castor.org/
>


-- 
Regards,
Hiram

Re: Stable branch for ActiveMQ 4.0.x patch releases

Posted by Bruce Snyder <br...@gmail.com>.
On 5/26/06, Hiram Chirino <hi...@hiramchirino.com> wrote:

> > If you don't think we should merge bug fixes from
> > branches/activemq-4.0.x to the trunk, how do you propose we get bug
> > fixes into the next major release?
> >
>
> Bug fixes needs to be merged manually into trunk and all other
> branches manually by the person committing the fix.  So the net effect
> is that we constantly merging in bug fixes to both the stable and
> trunk branch at concurrently.  We don't wait to 'roll up' all the bug
> fixes on the stable branch so they are merged into trunk.

+1 Sounds good to me.

Bruce
-- 
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

Apache Geronimo - http://geronimo.apache.org/
Apache ActiveMQ - http://incubator.apache.org/activemq/
Apache ServiceMix - http://incubator.apache.org/servicemix/
Castor - http://castor.org/

Re: Stable branch for ActiveMQ 4.0.x patch releases

Posted by Hiram Chirino <hi...@hiramchirino.com>.
On 5/26/06, Bruce Snyder <br...@gmail.com> wrote:
> On 5/25/06, Hiram Chirino <hi...@hiramchirino.com> wrote:
> > Hi folks,
> >
> > * We Will Need  a Branch *
> > Now that we are close to getting past the 4.0 release, I wanted to
> > bring up the topic of how to do bug fix maintenance for it.  I think
> > that the 4.0.1 release should stay focused on only including bug
> > fixes.  Already, I think a few too many changes have been slipping
> > into trunk which should not be in the 4.0.1 bug fix release, so trunk
> > could not be used to produce the 4.0.1.  Clearly trunk is on already
> > on it's way to the next 4.1 release.
> >
> > * Proposed Branch *
> > I propose that we copy the 4.0 tagged release:
> > https://svn.apache.org/repos/asf/incubator/activemq/tags/activemq-4.0/activemq
> > to:
> > https://svn.apache.org/repos/asf/incubator/activemq/branches/activemq-4.0
> > and use that as our 4.0 stable branch which will produce the 4.0.n
> > series of bug fix releases.
> >
> > If no body objects, I'll do create this branch early next week.
> >
> > * Bug Fix Merging?? *
> > Also, we need to standardize how we will apply bug fixes to branches.
> > Once we branch, when we find a bug, we will typically need to fix the
> > bug in both the 4.0 and the trunk branch.  Once school of though is
> > apply the bug fix to the 4.0 branch and when the 4.0.1 release is
> > done, we merge all those fixes into trunk.  I'm not a big fan of that
> > approach, I've seen it fail too many times.  Reasons:
> >  - Bug fixes get done in trunk first usually.  Most developers I know
> > prefer to work in trunk: that were the cool new shiny stuff is.
> >   - Developers manually apply the fix to both the branch and the
> > trunk.  This could cause a merge conflict at the time of the merge.
> > They do this because either they REALLY need the fix in trunk to work
> > around something or they just didn't know that we merge fixes in to
> > trunk on bug fix release.
> >
> > So I'm actually a fan of informing folks that we don't do merges on
> > bug fix releases and that they should manually apply their patch to
> > all the branches that they think could benefit from the fix.  This has
> > a little more up front work for the guy applying the patch (since he
> > has to apply it to multiple branches) but I think it leads to branches
> > that are more stable.
>
> I would prefer branch stability for bug fixes and I concur with the
> idea of creating branches/activemq-4.0.x from tags/activemq-4.0 and
> producing the 4.0.x releases from the branch.
>
> If you don't think we should merge bug fixes from
> branches/activemq-4.0.x to the trunk, how do you propose we get bug
> fixes into the next major release?
>

Bug fixes needs to be merged manually into trunk and all other
branches manually by the person committing the fix.  So the net effect
is that we constantly merging in bug fixes to both the stable and
trunk branch at concurrently.  We don't wait to 'roll up' all the bug
fixes on the stable branch so they are merged into trunk.

> Bruce
> --
> perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> );'
>
> Apache Geronimo - http://geronimo.apache.org/
> Apache ActiveMQ - http://incubator.apache.org/activemq/
> Apache ServiceMix - http://incubator.apache.org/servicemix/
> Castor - http://castor.org/
>


-- 
Regards,
Hiram

Re: Stable branch for ActiveMQ 4.0.x patch releases

Posted by Bruce Snyder <br...@gmail.com>.
On 5/25/06, Hiram Chirino <hi...@hiramchirino.com> wrote:
> Hi folks,
>
> * We Will Need  a Branch *
> Now that we are close to getting past the 4.0 release, I wanted to
> bring up the topic of how to do bug fix maintenance for it.  I think
> that the 4.0.1 release should stay focused on only including bug
> fixes.  Already, I think a few too many changes have been slipping
> into trunk which should not be in the 4.0.1 bug fix release, so trunk
> could not be used to produce the 4.0.1.  Clearly trunk is on already
> on it's way to the next 4.1 release.
>
> * Proposed Branch *
> I propose that we copy the 4.0 tagged release:
> https://svn.apache.org/repos/asf/incubator/activemq/tags/activemq-4.0/activemq
> to:
> https://svn.apache.org/repos/asf/incubator/activemq/branches/activemq-4.0
> and use that as our 4.0 stable branch which will produce the 4.0.n
> series of bug fix releases.
>
> If no body objects, I'll do create this branch early next week.
>
> * Bug Fix Merging?? *
> Also, we need to standardize how we will apply bug fixes to branches.
> Once we branch, when we find a bug, we will typically need to fix the
> bug in both the 4.0 and the trunk branch.  Once school of though is
> apply the bug fix to the 4.0 branch and when the 4.0.1 release is
> done, we merge all those fixes into trunk.  I'm not a big fan of that
> approach, I've seen it fail too many times.  Reasons:
>  - Bug fixes get done in trunk first usually.  Most developers I know
> prefer to work in trunk: that were the cool new shiny stuff is.
>   - Developers manually apply the fix to both the branch and the
> trunk.  This could cause a merge conflict at the time of the merge.
> They do this because either they REALLY need the fix in trunk to work
> around something or they just didn't know that we merge fixes in to
> trunk on bug fix release.
>
> So I'm actually a fan of informing folks that we don't do merges on
> bug fix releases and that they should manually apply their patch to
> all the branches that they think could benefit from the fix.  This has
> a little more up front work for the guy applying the patch (since he
> has to apply it to multiple branches) but I think it leads to branches
> that are more stable.

I would prefer branch stability for bug fixes and I concur with the
idea of creating branches/activemq-4.0.x from tags/activemq-4.0 and
producing the 4.0.x releases from the branch.

If you don't think we should merge bug fixes from
branches/activemq-4.0.x to the trunk, how do you propose we get bug
fixes into the next major release?

Bruce
-- 
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

Apache Geronimo - http://geronimo.apache.org/
Apache ActiveMQ - http://incubator.apache.org/activemq/
Apache ServiceMix - http://incubator.apache.org/servicemix/
Castor - http://castor.org/