geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <>
Subject Re: Old branches (was: Old tags in Geornimo)
Date Wed, 02 Nov 2005 18:51:42 GMT
On Nov 2, 2005, at 9:18 AM, Bruce Snyder wrote:

> On 11/2/05, Dain Sundstrom <> 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.


View raw message