[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: RE: RE: Re: Why have a trunk dir, anyway?!

From: Irvine, Chuck R [EQ] <Chuck.R.Irvine_at_Embarq.com>
Date: 2007-04-27 17:35:46 CEST

> I see no less work when merging changes between
> RN and RN-1; hence to me it's at least no better,
> it may even be worse since I'd have to
> - Merge RN-1 branch(es) to RN-1 main
> - Merge RN-1 main to RN main
> - Merge RN main to RN branch(es)

Don't understand. There isn't an RN-main and a RN-branch. There is only
one branch for each of R1, R2, R3, etc.

>
> Like I said it does NOT matter what you call it, you still
> have a trunk.

There is nothing in the second scheme like trunk in the first scheme.
Say, for illustration purposes, you always have three releases going
concurrently. When the the oldest release is retired, a new one starts.
So, the first three-release situation is as shown below.

Scheme 1 (SVN Standard):

Each release starts on the trunk and *moves* to a release branch when
the next release started.

                            R1
                      /-----------------------
                     /
                    /
                   / R2
                  / /----------------
                 / /
                / /
               / /
       R1 / R2 / R3
Trunk--------/--------------------------------------------

Scheme 2 (Homogenous Release Branches)

Each release starts on a branch and *stays* on the branch until it is
retired. Each new release RN branches off of RN-1 (not the trunk).

                         R3 /----------------------
                           /
                          /
                         /
           R2 /---------------------
              /
             /
            /
R1-----------------------

Now say that you retire R1 and start R4. The new situation looks like:

                          R2
                      /----------------
                     /
                    / R3
                   / /------------------
                  / /
                 / /
       R2 / R3 / R4
Trunk----------------------------------------------------

The R1 release branch was retired (and deleted from the repository). R3
was moved to a release branch. R4 now lives on the trunk.

Scheme 2 (Homogenous Release Branches)

Each release starts on a branch and *stays* on the branch until it is
retired. Each new release RN branches off of RN-1.

                         R4 /----------------------
                           /
                          /
                         /
           R3 /---------------------
              /
             /
            /
R2-----------------------

The original R1 branch was deleted from the repository. R3 stays on its
original branch. R4 starts (and will stay until retirement) on a branch
taken from R3 (and not from the trunk).

The point is, for the 1st scheme, all releases start the trunk and
*move* to a release branch. The trunk exists for the life of the
application. In the second scheme, each release stays on it's original
branch until the release is retired. And, there is no *trunk* branch
(dir) that lives for the life of the application.

If anyone is still with me at this point, my purpose isn't really to say
that the second scheme is *better*. I was just trying to see if anyone
could see any problems with using it. So far, we've done quite a bit of
experimentation and can see no problems. But... Being new to SVN, there
are lots of folks that have more insight than us.

Thanks!

Chuck

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Apr 27 17:36:10 2007

This is an archived mail posted to the Subversion Users mailing list.