You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Aidan Skinner <ai...@apache.org> on 2008/01/28 17:52:18 UTC

Branches, merges and trunkness

Right, I have finished reconcilling the M2/M2.1/M2.1.1 branches, you
probably want to work on M2.1 if you're doing that stuff.

For my next trick, I shall be taking a branch from trunk to perform
the M2.1->trunk merge on, which will track trunk as things progress.

- Aidan

-- 
aim/y!:aidans42  g:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"Almost everything is imitation... The most original writers borrowed
from one another." - Voltaire

Re: Branches, merges and trunkness

Posted by Robert Godfrey <ro...@gmail.com>.
On 29/01/2008, Aidan Skinner <ai...@apache.org> wrote:
> On Jan 28, 2008 11:11 PM, Rajith Attapattu <ra...@gmail.com> wrote:
>
> > Just for my understanding,
> > What is the difference between M2.1 and M2.1.1 ? Which branch are we
> > planning to use for the next release of M2.x?
>
> M2.1.1 is dead, M2.1 has some additional fixes and features (such as
> multiversion support). Ignore M2.1.1, nothing to see here, move along
> please.
>
> We'll take M2.x from the M2.1 branch, which should probably be renamed
> to M2.x. If nobody objects I'll do this on Friday, it's going to mess
> up existing checkouts though.
>
> > Are we done with the M2 branch? are we planning to keep that around?
> > If we need any fixes to say M2, I suppose we will make fixes from the latest
> > M2.x branch and not M2. Am I correct?
>
> As Rupert says, M2 is a release branch, if we need to make a security
> fix on M2 that would be the place to do it.
>

As we've previously said, there is absolutely no point in "deleting"
the M2 branch since the code will stay there (this is a source control
system - it'd better :-) )... Futher since we know of many people
using M2 code in production systems, if we have to make bug fixes, we
want to do it on the M2 branch.

There are most certainly a number of branches which we can tidy up
however.  Do any of these branches hold any value for future
development?

 client_restructure
 event-queue-2006-12-20
 java.multi_version
 jmsselectors
 M2.0.0.0_patch
 M2.1.1
 new_persistence
 perftesting
 perftesting_persistent
 qpid.0-9

-- Rob

> - Aidan
> --
> aim/y!:aidans42  g:aidan.skinner@gmail.com
> http://aidan.skinner.me.uk/
> "Almost everything is imitation... The most original writers borrowed
> from one another." - Voltaire
>

Re: Branches, merges and trunkness

Posted by Aidan Skinner <ai...@apache.org>.
On Jan 28, 2008 11:11 PM, Rajith Attapattu <ra...@gmail.com> wrote:

> Just for my understanding,
> What is the difference between M2.1 and M2.1.1 ? Which branch are we
> planning to use for the next release of M2.x?

M2.1.1 is dead, M2.1 has some additional fixes and features (such as
multiversion support). Ignore M2.1.1, nothing to see here, move along
please.

We'll take M2.x from the M2.1 branch, which should probably be renamed
to M2.x. If nobody objects I'll do this on Friday, it's going to mess
up existing checkouts though.

> Are we done with the M2 branch? are we planning to keep that around?
> If we need any fixes to say M2, I suppose we will make fixes from the latest
> M2.x branch and not M2. Am I correct?

As Rupert says, M2 is a release branch, if we need to make a security
fix on M2 that would be the place to do it.

- Aidan
-- 
aim/y!:aidans42  g:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"Almost everything is imitation... The most original writers borrowed
from one another." - Voltaire

Re: Branches, merges and trunkness

Posted by Gordon Sim <gs...@redhat.com>.
Rupert Smith wrote:
> I just used 'production' system as an analogy, to get Rajith to try and
> think about this. Its not the first time he has suggested deleting the
> release branch. I'm not suggesting that we create branches for our internal
> production needs. We will be creating branches for every Apache release
> though, and it is certainly a good idea to keep them.

I think what is critical is for the repository to be tagged for each 
release. You can then always get the exact source used. Leaving the 
release branch open may well be a good idea (I'm not convinced it is 
sufficient or required, but thats a separate question). I do think it 
would be valuable to have a clear 'policy' for each open branch 
dictating what sort of updates are appropriate, what sort of process you 
need to go through (if any) for committing etc.

Re: Branches, merges and trunkness

Posted by Rajith Attapattu <ra...@gmail.com>.
On Jan 29, 2008 7:01 AM, Rupert Smith <ru...@googlemail.com> wrote:

> I just used 'production' system as an analogy, to get Rajith to try and
> think about this. Its not the first time he has suggested deleting the
> release branch.


Not sure where you got this impression from. I have no desire to delete any
branch:)
I just asked the questions to figure out which branch is doing what.
I have a friend who is waiting for the next release of M2.x so wanted to
know what the plan is.
As Gordon says it is nice if we make some documentation to say what each
branch corresponds to in terms of AMQP version etc.

I'm not suggesting that we create branches for our internal
> production needs. We will be creating branches for every Apache release
> though, and it is certainly a good idea to keep them.
>
> Yes, M2.1 is the current 'mainline' for 0-8/0-9.
>

Another option is to create a branch from a tag, do the fix, tag it again
and release. A lot of projects do this kinda of thing.
It is equivalent to keeping the branch.
However I have no preference either way.

>Rajith, If you wanted to apply a bug-fix to a piece of software in
> production, would you not want to apply it to the exact source that was
used
> to build the production system
Rupert, absolutely !!!
That is why I think we should use a tag (so as apply it to the exact source
that was used to build the production system).
Sometimes the branch may not contain the exact source.


> On 29/01/2008, Gordon Sim <gs...@redhat.com> wrote:
> >
> > Rupert Smith wrote:
> > > On 28/01/2008, Rajith Attapattu <ra...@gmail.com> wrote:
> > >> Just for my understanding,
> > >> What is the difference between M2.1 and M2.1.1 ? Which branch are we
> > >> planning to use for the next release of M2.x?
> > >
> > > Rajith, If you wanted to apply a bug-fix to a piece of software in
> > > production, would you not want to apply it to the exact source that
> was
> > used
> > > to build the production system, so as to be very careful to fix just
> > that
> > > bug without risking introducing bugs, or simply incompatibilities,
> that
> > may
> > > have been created as the source evolved onwards from the point at
> which
> > the
> > > production system was cut?
> >
> > Of course. However I think the question is a good one. As we have in
> > effect two streams of work in the project, lets call them 0-8/0-9 and
> > 0-10 to avoid confusion, which branch holds the ongoing development for
> > the 0-8/0-9 stream, and will be used for the next release of that
> > stream? I believe from Aidan's response that the answer is M2.1.
> >
> > I'm don't think it is possible to have an open branch for every
> > 'production system'. The only way to ensure that only the desired fixes
> > are made to a particular deployed system is to start from the exact
> > source and apply locally relevant patches, then rebuild from the patched
> > code.
> >
> > I think we would benefit from a clear policy on what we keep branches
> > for and how each open branch is to be used.
> >
> >
>



-- 
Regards,

Rajith Attapattu
Red Hat
blog: http://rajith.2rlabs.com/

Re: Branches, merges and trunkness

Posted by Rupert Smith <ru...@googlemail.com>.
I just used 'production' system as an analogy, to get Rajith to try and
think about this. Its not the first time he has suggested deleting the
release branch. I'm not suggesting that we create branches for our internal
production needs. We will be creating branches for every Apache release
though, and it is certainly a good idea to keep them.

Yes, M2.1 is the current 'mainline' for 0-8/0-9.

On 29/01/2008, Gordon Sim <gs...@redhat.com> wrote:
>
> Rupert Smith wrote:
> > On 28/01/2008, Rajith Attapattu <ra...@gmail.com> wrote:
> >> Just for my understanding,
> >> What is the difference between M2.1 and M2.1.1 ? Which branch are we
> >> planning to use for the next release of M2.x?
> >
> > Rajith, If you wanted to apply a bug-fix to a piece of software in
> > production, would you not want to apply it to the exact source that was
> used
> > to build the production system, so as to be very careful to fix just
> that
> > bug without risking introducing bugs, or simply incompatibilities, that
> may
> > have been created as the source evolved onwards from the point at which
> the
> > production system was cut?
>
> Of course. However I think the question is a good one. As we have in
> effect two streams of work in the project, lets call them 0-8/0-9 and
> 0-10 to avoid confusion, which branch holds the ongoing development for
> the 0-8/0-9 stream, and will be used for the next release of that
> stream? I believe from Aidan's response that the answer is M2.1.
>
> I'm don't think it is possible to have an open branch for every
> 'production system'. The only way to ensure that only the desired fixes
> are made to a particular deployed system is to start from the exact
> source and apply locally relevant patches, then rebuild from the patched
> code.
>
> I think we would benefit from a clear policy on what we keep branches
> for and how each open branch is to be used.
>
>

Re: Branches, merges and trunkness

Posted by Craig L Russell <Cr...@Sun.COM>.
On Jan 29, 2008, at 3:46 AM, Gordon Sim wrote:

> Rupert Smith wrote:
>> On 28/01/2008, Rajith Attapattu <ra...@gmail.com> wrote:
>>> Just for my understanding,
>>> What is the difference between M2.1 and M2.1.1 ? Which branch are we
>>> planning to use for the next release of M2.x?
>> Rajith, If you wanted to apply a bug-fix to a piece of software in
>> production, would you not want to apply it to the exact source that  
>> was used
>> to build the production system, so as to be very careful to fix  
>> just that
>> bug without risking introducing bugs, or simply incompatibilities,  
>> that may
>> have been created as the source evolved onwards from the point at  
>> which the
>> production system was cut?
>
> Of course. However I think the question is a good one. As we have in  
> effect two streams of work in the project, lets call them 0-8/0-9  
> and 0-10 to avoid confusion, which branch holds the ongoing  
> development for the 0-8/0-9 stream, and will be used for the next  
> release of that stream? I believe from Aidan's response that the  
> answer is M2.1.
>
> I'm don't think it is possible to have an open branch for every  
> 'production system'. The only way to ensure that only the desired  
> fixes are made to a particular deployed system is to start from the  
> exact source and apply locally relevant patches, then rebuild from  
> the patched code.
>
> I think we would benefit from a clear policy on what we keep  
> branches for and how each open branch is to be used.
>
+1

Other projects have policy on release numbering [1] that tie into  
processes for release management [2].

Craig

[1] http://openjpa.apache.org/openjpareleasepolicy.html
[2] http://openjpa.apache.org/releasing-openjpa.html

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Re: Branches, merges and trunkness

Posted by Gordon Sim <gs...@redhat.com>.
Rupert Smith wrote:
> On 28/01/2008, Rajith Attapattu <ra...@gmail.com> wrote:
>> Just for my understanding,
>> What is the difference between M2.1 and M2.1.1 ? Which branch are we
>> planning to use for the next release of M2.x?
> 
> Rajith, If you wanted to apply a bug-fix to a piece of software in
> production, would you not want to apply it to the exact source that was used
> to build the production system, so as to be very careful to fix just that
> bug without risking introducing bugs, or simply incompatibilities, that may
> have been created as the source evolved onwards from the point at which the
> production system was cut?

Of course. However I think the question is a good one. As we have in 
effect two streams of work in the project, lets call them 0-8/0-9 and 
0-10 to avoid confusion, which branch holds the ongoing development for 
the 0-8/0-9 stream, and will be used for the next release of that 
stream? I believe from Aidan's response that the answer is M2.1.

I'm don't think it is possible to have an open branch for every 
'production system'. The only way to ensure that only the desired fixes 
are made to a particular deployed system is to start from the exact 
source and apply locally relevant patches, then rebuild from the patched 
code.

I think we would benefit from a clear policy on what we keep branches 
for and how each open branch is to be used.


Re: Branches, merges and trunkness

Posted by Rupert Smith <ru...@googlemail.com>.
On 28/01/2008, Rajith Attapattu <ra...@gmail.com> wrote:
>
> Aidan,
>
> Just for my understanding,
> What is the difference between M2.1 and M2.1.1 ? Which branch are we
> planning to use for the next release of M2.x?
>
> Are we done with the M2 branch? are we planning to keep that around?
> If we need any fixes to say M2, I suppose we will make fixes from the
> latest
> M2.x branch and not M2. Am I correct?
>
> Regards,
>
> Rajith
>

Rajith, If you wanted to apply a bug-fix to a piece of software in
production, would you not want to apply it to the exact source that was used
to build the production system, so as to be very careful to fix just that
bug without risking introducing bugs, or simply incompatibilities, that may
have been created as the source evolved onwards from the point at which the
production system was cut?

Rupert

Re: Branches, merges and trunkness

Posted by Rajith Attapattu <ra...@gmail.com>.
Aidan,

Just for my understanding,
What is the difference between M2.1 and M2.1.1 ? Which branch are we
planning to use for the next release of M2.x?

Are we done with the M2 branch? are we planning to keep that around?
If we need any fixes to say M2, I suppose we will make fixes from the latest
M2.x branch and not M2. Am I correct?

Regards,

Rajith

On Jan 28, 2008 11:52 AM, Aidan Skinner <ai...@apache.org> wrote:

> Right, I have finished reconcilling the M2/M2.1/M2.1.1 branches, you
> probably want to work on M2.1 if you're doing that stuff.
>
> For my next trick, I shall be taking a branch from trunk to perform
> the M2.1->trunk merge on, which will track trunk as things progress.
>
> - Aidan
>
> --
> aim/y!:aidans42  g:aidan.skinner@gmail.com
> http://aidan.skinner.me.uk/
> "Almost everything is imitation... The most original writers borrowed
> from one another." - Voltaire
>



-- 
Regards,

Rajith Attapattu
Red Hat
blog: http://rajith.2rlabs.com/