trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: October 2014

Using branches in the future development (was Re: [trinity-devel] R14 hard freeze for RC1)

From: Slávek Banko <slavek.banko@...>
Date: Wed, 15 Oct 2014 05:12:10 +0200
On Wednesday 15 of October 2014 04:30:15 Michele Calgaro wrote:
> 2) about freezing, development and v14.0.x
> Tim, is it possible to create a GIT branch for v14.0.0 so that we can
> keep pushing patches *not to be in v14.0.0* to the main trunk? The main
> question here is actually "how are we going to maintain the v14.0.x
> branch when v14.0.0 has been release and the main trunk will be for
> v14.1.0"?
>
>
> Cheers
>    Michele

This raises the question of the use of branches in the further
development. There are several options:

1) One extreme - do not use branches at all.

= R14.0.0 === R14.0.1 === R14.0.2 === R14.1.0 === R14.1.1 === R14.2.0 === R15.0.0

I assume that the experience from the maintenance branch
v3.5.13-sru excludes this option.


2) Create a branches for the minor/"feature" revisions:

                     __R14.1.1___R14.1.2___R14.1.3
                    /
                   /                       __R15.0.1
                  /                       /   
= R14.0.0 === R14.1.0 === R14.2.0 === R15.0.0 === R15.1.0
      \                       \
       \                       \__R14.2.1___R14.2.2
        \
         \__R14.0.1___R14.0.2___R14.0.3


3) Create a branches for the major/"abi" revisions and
'sub' branches for minor/"feature" revisions:

                        ___R15.1.0___R15.1.1
                       /
                      /__R15.0.1___R15.0.2
                     /
= R14.0.0 ====== R15.0.0 ====== R16.0.0
      \
       \__R14.0.1___R14.0.2___R14.0.3
        \
         \__R14.1.0___R14.1.1___R14.1.2
          \
           \__R14.2.0___R14.2.1


Based on the existing experience for me seems optimal option 2). In any
case, I suggest to not create a 'tags' for rc versions - solely for the
final releases, to avoid unnecessarily large number of tags.

The second question is "when is the time" to create a branch. As I
mentioned earlier, nightly-builds are designed to build on 'master'
branch. When we create new branch, then nightly-builds should start
with version numbers corresponding to the new target version - for
example, 14.1.0~preXXX. Thus, if a new branch will be created now -
with RC1, then I assume that this is the moment for me to start
worry about the preparation of stable-builds in my ppa.

I note: for some time I maintain 'preliminary-stable-builds' on my
mirror. At the same time I have already prepared PPA to maintain
'stable-builds' on the build-farm. That is to say, that I am ready
to maintain maintanance releases R14.0.x.

What is your opinion - when is the time to create branch and start
the 'maintanance mode'?

-- 
Slávek