You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by David Blevins <da...@visi.com> on 2005/11/01 03:06:26 UTC

Old branches (was: Old tags in Geornimo)

Can we kill this old branch?

   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5

We have a tag for it here.

   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5

And can we also agree that we don't leave branches hanging around  
after every release unless that is planned to be an actual branch point?

-David

Re: Old branches (was: Old tags in Geornimo)

Posted by Bruce Snyder <br...@gmail.com>.
On 10/31/05, David Blevins <da...@visi.com> wrote:
> Can we kill this old branch?
>
>    http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>
> We have a tag for it here.
>
>    http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>
> And can we also agree that we don't leave branches hanging around
> after every release unless that is planned to be an actual branch point?

+1 on both points.

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

The Castor Project
http://www.castor.org/

Apache Geronimo
http://geronimo.apache.org/

Re: Old branches (was: Old tags in Geornimo)

Posted by Dain Sundstrom <da...@iq80.com>.
+1

-dain

On Oct 31, 2005, at 6:06 PM, David Blevins wrote:

> Can we kill this old branch?
>
>   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>
> We have a tag for it here.
>
>   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>
> And can we also agree that we don't leave branches hanging around  
> after every release unless that is planned to be an actual branch  
> point?
>
> -David
>


Re: Old branches

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
David Blevins wrote, On 10/31/2005 6:06 PM:

> Can we kill this old branch?
>
>   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>
> We have a tag for it here.
>
>   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>
> And can we also agree that we don't leave branches hanging around  
> after every release unless that is planned to be an actual branch point?

+1 kill, kill, kill!


Regards,
Alan




Re: Old branches (was: Old tags in Geornimo)

Posted by Bruce Snyder <br...@gmail.com>.
On 11/2/05, Dain Sundstrom <da...@iq80.com> wrote:
> On Nov 2, 2005, at 9:18 AM, Bruce Snyder wrote:
>
> > On 11/2/05, Dain Sundstrom <da...@iq80.com> wrote:
> >
> >
> >> I suggest next time we are creating a milestone, preview or tag only
> >> (unsupported) release, we don't create the temp branch in branches.
> >>
> >
> > I respectfully disagree with this idea and my reasons are simple -
> > tags are meant to mark a point in time and *should not change* (i.e.,
> > commits to a tag should not happen). If a tag needs to change (i.e.,
> > something needs to be committed to it) then that tag figuratively
> > becomes a branch (and should therefore be moved to the branches dir).
>
> You know, I think the big problem here is we are trying to apply CVS
> terminology and dogma developed due to the limitations of CVS.  In
> CVS, the dogma is you never create a branch from a tag, always branch
> then tag.  In subversion there is no difference between a tag and a
> branch and we can easily change between them.  The difference lives
> in how we treat them.

Yes, it is a figurative and semantic difference (unless one implements
some sophisticated commit hooks to disable committing to a tag).
However, the concepts of tags vs. branches does not change from CVS to
SVN - tags are meant to be static whereas branches are meant to be
lines of development. In fact, here's a message from the svn-user@
mailing list supporting this notion:

    http://svn.haxx.se/users/archive-2003-09/0021.shtml

> I get the feeling that this debate is in a quagmire because we do not
> have a common set of definitions for the terms we are using, so let's
> formally define them.

Actually, I agree completely with this statement. Agreement on terms
and their definitions is more meaningful than any other concept
really.

> I think we have the following categories for
> code lines in our repository:
>
> supported code line (mutable)
> snapshot code line (immutable)
> experimental code line
> ?? others ??
>
> The nice thing with subversion is we can switch a code line between
> the three groups with zero impact to history and development.  We can
> simply move a code line to a new category, or create a copy of a code
> line in a new category.

Exactly ;-).

> Another big problem we have is creating a snapshot line is can not
> atomic operation.  Subversion is more then willing to make an atomic
> copy, but we can not create a snapshot code line without modifying
> the build and sometimes the code, and then there is certification
> testing which sometimes requires modification to the code line.  I
> think how we handle the hand off from a supported code line to a
> snapshot code line is at the heart of this debate.

Yes, and this is a very common dilemma. The recommended procedure is
the following set of steps:

1) Create a tag from HEAD named tag_foo1
2) Create a branch from tag_foo named tag_foo1_branch
3) Do work
4) Create a tag from tag_foo1_branch named tag_foo2
5) Remove tag_foo1_branch accordingly

The reasons for making the two tags is many, but the most important
one is to easily create a diff between the start and the end of the
development. This covers any need to merge changes back into HEAD from
the work done on the branch. In addition, copies are cheap in
Subversion so creating many, many tags has little impact on the
server.

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

The Castor Project
http://www.castor.org/

Apache Geronimo
http://geronimo.apache.org/

Re: Old branches (was: Old tags in Geornimo)

Posted by Bruce Snyder <br...@gmail.com>.
On 11/2/05, David Blevins <da...@visi.com> wrote:

> > One minor clarification. IMO, tags should remain intact forever.
> > Therefore a tag should be copied to the branches dir, not moved. But I
> > digress... ;-).
> >
>
> Awesome.  That's my preference as well, just didn't want to be
> inflexible and wasn't sure if you meant "therefore be moved" as in
> "svn move".
>
> Can you +1 my proposal for clarity?

I did that for the original message that started this discussion
thread two days ago.

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

The Castor Project
http://www.castor.org/

Apache Geronimo
http://geronimo.apache.org/

Re: Old branches (was: Old tags in Geornimo)

Posted by David Blevins <da...@visi.com>.
On Nov 2, 2005, at 11:19 AM, Bruce Snyder wrote:

> On 11/2/05, David Blevins <da...@visi.com> wrote:
>
>
>> Guys, you are totally agreeing.  To paraphrase Dain, "It should be
>> fine to create a branch from a tag, forget CVS dogma."  To paraphrase
>> Bruce, "If we need to updated a tag, move it to the branches dir at
>> that point, so it's not a tag anymore."
>>
>
> I think we're in agreement as well.
>
>
>> And my thoughts are the same as well, "If we need to update a tag for
>> some unknow reason in the future, let's move it (or copy it with a
>> new name) to the branches directory at that point."
>>
>
> One minor clarification. IMO, tags should remain intact forever.
> Therefore a tag should be copied to the branches dir, not moved. But I
> digress... ;-).
>

Awesome.  That's my preference as well, just didn't want to be  
inflexible and wasn't sure if you meant "therefore be moved" as in  
"svn move".

Can you +1 my proposal for clarity?

Thanks,
David


Re: Old branches (was: Old tags in Geornimo)

Posted by Bruce Snyder <br...@gmail.com>.
On 11/2/05, David Blevins <da...@visi.com> wrote:

> Guys, you are totally agreeing.  To paraphrase Dain, "It should be
> fine to create a branch from a tag, forget CVS dogma."  To paraphrase
> Bruce, "If we need to updated a tag, move it to the branches dir at
> that point, so it's not a tag anymore."

I think we're in agreement as well.

> And my thoughts are the same as well, "If we need to update a tag for
> some unknow reason in the future, let's move it (or copy it with a
> new name) to the branches directory at that point."

One minor clarification. IMO, tags should remain intact forever.
Therefore a tag should be copied to the branches dir, not moved. But I
digress... ;-).

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

The Castor Project
http://www.castor.org/

Apache Geronimo
http://geronimo.apache.org/

Re: Old branches (was: Old tags in Geornimo)

Posted by David Blevins <da...@visi.com>.
On Nov 2, 2005, at 10:51 AM, Dain Sundstrom wrote:

> On Nov 2, 2005, at 9:18 AM, Bruce Snyder wrote:
>
>
>> On 11/2/05, Dain Sundstrom <da...@iq80.com> wrote:
>>
>>
>>
>>> I suggest next time we are creating a milestone, preview or tag only
>>> (unsupported) release, we don't create the temp branch in branches.
>>>
>>>
>>
>> I respectfully disagree with this idea and my reasons are simple -
>> tags are meant to mark a point in time and *should not change* (i.e.,
>> commits to a tag should not happen). If a tag needs to change (i.e.,
>> something needs to be committed to it) then that tag figuratively
>> becomes a branch (and should therefore be moved to the branches dir).
>>
>
> You know, I think the big problem here is we are trying to apply  
> CVS terminology and dogma developed due to the limitations of CVS.   
> In CVS, the dogma is you never create a branch from a tag, always  
> branch then tag.


Guys, you are totally agreeing.  To paraphrase Dain, "It should be  
fine to create a branch from a tag, forget CVS dogma."  To paraphrase  
Bruce, "If we need to updated a tag, move it to the branches dir at  
that point, so it's not a tag anymore."

And my thoughts are the same as well, "If we need to update a tag for  
some unknow reason in the future, let's move it (or copy it with a  
new name) to the branches directory at that point."

Did I capture everything correctly?

-David

Re: Old branches (was: Old tags in Geornimo)

Posted by Dain Sundstrom <da...@iq80.com>.
On Nov 2, 2005, at 9:18 AM, Bruce Snyder wrote:

> On 11/2/05, Dain Sundstrom <da...@iq80.com> wrote:
>
>
>> I suggest next time we are creating a milestone, preview or tag only
>> (unsupported) release, we don't create the temp branch in branches.
>>
>
> I respectfully disagree with this idea and my reasons are simple -
> tags are meant to mark a point in time and *should not change* (i.e.,
> commits to a tag should not happen). If a tag needs to change (i.e.,
> something needs to be committed to it) then that tag figuratively
> becomes a branch (and should therefore be moved to the branches dir).

You know, I think the big problem here is we are trying to apply CVS  
terminology and dogma developed due to the limitations of CVS.  In  
CVS, the dogma is you never create a branch from a tag, always branch  
then tag.  In subversion there is no difference between a tag and a  
branch and we can easily change between them.  The difference lives  
in how we treat them.

I get the feeling that this debate is in a quagmire because we do not  
have a common set of definitions for the terms we are using, so let's  
formally define them.  I think we have the following categories for  
code lines in our repository:

supported code line (mutable)
snapshot code line (immutable)
experimental code line
?? others ??

The nice thing with subversion is we can switch a code line between  
the three groups with zero impact to history and development.  We can  
simply move a code line to a new category, or create a copy of a code  
line in a new category.

Another big problem we have is creating a snapshot line is can not  
atomic operation.  Subversion is more then willing to make an atomic  
copy, but we can not create a snapshot code line without modifying  
the build and sometimes the code, and then there is certification  
testing which sometimes requires modification to the code line.  I  
think how we handle the hand off from a supported code line to a  
snapshot code line is at the heart of this debate.

-dain

Re: Old branches (was: Old tags in Geornimo)

Posted by Bruce Snyder <br...@gmail.com>.
On 11/2/05, Dain Sundstrom <da...@iq80.com> wrote:

> I suggest next time we are creating a milestone, preview or tag only
> (unsupported) release, we don't create the temp branch in branches.

I respectfully disagree with this idea and my reasons are simple -
tags are meant to mark a point in time and *should not change* (i.e.,
commits to a tag should not happen). If a tag needs to change (i.e.,
something needs to be committed to it) then that tag figuratively
becomes a branch (and should therefore be moved to the branches dir).

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

The Castor Project
http://www.castor.org/

Apache Geronimo
http://geronimo.apache.org/

Re: Old branches (was: Old tags in Geornimo)

Posted by Dain Sundstrom <da...@iq80.com>.
This is exactly why I brought it up last time.  There is obviously  
something wrong when the people that are supposed to know better are  
making mistakes?  It is just confusing to have the branch there....  
it is not a branch just a temp place we worked wile packaging the  
release.

I suggest next time we are creating a milestone, preview or tag only  
(unsupported) release, we don't create the temp branch in branches.

+1 to remove the confusing, non-supported, temporary branch we  
created for 1.0-M5 packaging.

-dain

On Nov 1, 2005, at 10:09 PM, David Blevins wrote:

> The last nail in the coffin for me was when, in a sleep deprived  
> state, I got a little disoriented and built the M5 installer from  
> the branch directory rather than the tag directory.  Accidents happen.
>
> A simple svn copy cheaply creates a new branch, keeps it clear its  
> different than the tag, and gives someone a place to work with it.   
> The possibility of that is small, so we'll just let the person  
> create it when they wish to do something weird. :)
>
> -David
>
> On Nov 1, 2005, at 3:20 AM, Geir Magnusson Jr. wrote:
>
>
>> I don't understand the harm of leaving the branches - it costs  
>> nothing since it's already created, it keeps the history clear,  
>> and it gives someone an opportunity in the future to work with  
>> it.  I know the probability of that is small, but people do weird  
>> things...
>>
>> geir
>>
>> On Oct 31, 2005, at 9:06 PM, David Blevins wrote:
>>
>>
>>
>>> Can we kill this old branch?
>>>
>>>   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>>>
>>> We have a tag for it here.
>>>
>>>   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>>>
>>> And can we also agree that we don't leave branches hanging around  
>>> after every release unless that is planned to be an actual branch  
>>> point?
>>>
>>> -David
>>>
>>>
>>>
>>
>> -- 
>> Geir Magnusson Jr                                  +1-203-665-6437
>> geirm@apache.org
>>
>>
>>
>


Re: Old branches (was: Old tags in Geornimo)

Posted by David Blevins <da...@visi.com>.
The last nail in the coffin for me was when, in a sleep deprived  
state, I got a little disoriented and built the M5 installer from the  
branch directory rather than the tag directory.  Accidents happen.

A simple svn copy cheaply creates a new branch, keeps it clear its  
different than the tag, and gives someone a place to work with it.   
The possibility of that is small, so we'll just let the person create  
it when they wish to do something weird. :)

-David

On Nov 1, 2005, at 3:20 AM, Geir Magnusson Jr. wrote:

> I don't understand the harm of leaving the branches - it costs  
> nothing since it's already created, it keeps the history clear, and  
> it gives someone an opportunity in the future to work with it.  I  
> know the probability of that is small, but people do weird things...
>
> geir
>
> On Oct 31, 2005, at 9:06 PM, David Blevins wrote:
>
>
>> Can we kill this old branch?
>>
>>   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>>
>> We have a tag for it here.
>>
>>   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>>
>> And can we also agree that we don't leave branches hanging around  
>> after every release unless that is planned to be an actual branch  
>> point?
>>
>> -David
>>
>>
>
> -- 
> Geir Magnusson Jr                                  +1-203-665-6437
> geirm@apache.org
>
>
>


Re: Old branches (was: Old tags in Geornimo)

Posted by "Geir Magnusson Jr." <ge...@apache.org>.
I don't understand the harm of leaving the branches - it costs  
nothing since it's already created, it keeps the history clear, and  
it gives someone an opportunity in the future to work with it.  I  
know the probability of that is small, but people do weird things...

geir

On Oct 31, 2005, at 9:06 PM, David Blevins wrote:

> Can we kill this old branch?
>
>   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>
> We have a tag for it here.
>
>   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>
> And can we also agree that we don't leave branches hanging around  
> after every release unless that is planned to be an actual branch  
> point?
>
> -David
>

-- 
Geir Magnusson Jr                                  +1-203-665-6437
geirm@apache.org



Re: Old branches

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
David Blevins wrote, On 10/31/2005 6:06 PM:

> Can we kill this old branch?
>
>   http://svn.apache.org/repos/asf/geronimo/branches/1.0-M5
>
> We have a tag for it here.
>
>   http://svn.apache.org/repos/asf/geronimo/tags/1_0_M5
>
> And can we also agree that we don't leave branches hanging around  
> after every release unless that is planned to be an actual branch point?
>
> -David

+1


Regards,
Alan