Re: branching for future fedora releases

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 3 Mar 2010, Chris Lumens wrote:

I like this idea, but I'm at least a little bit inclined to take it
further. Given the pile-up caused by rhel6-beta1 and now f13-alpha, I'm
wondering if we should also create a branch off of each product/release
(eg: f13, rhel6) branch for each of the lead-up releases (f13-alpha,
rhel6-beta1). We still put everything on master and cherry-pick to all
applicable product/release branches, but we also only cherry-pick
blocker-fixes onto the alpha/beta/rc branches.

master
 |- f13-branch
 |   |- f13-alpha
 |   \- f13-beta
 \- rhel6-branch
     |- rhel6-beta1
     |- rhel6-beta2
     \- rhel6-rc1

Yeah, it's a lot of branches, but only one alpha/beta/rc branch will
ever be active for a given product/release.

It's a lot of branches, but we already have a lot of branches and git's
supposed to make this easy, right?

Do we really want only one branch active for a given product/release, or
do we want to have the alpha and beta branches open at the same time so
bugs marked as beta blockers can still be committed?  No, probably not -
that'll only result in an enormous build immediately after the alpha
goes out.  We might get that anyway but we probably don't want to codify
the practice.

I don't think it would be that bad, so long as we stick with a release
gatekeeper and enforce that.

We branch off master at a given point in time once development of fX starts.
We call that fX-branch.  A gatekeeper is appointed to handle the builds for
that release of Fedora and to keep track of the branches and patch management.

At some point in time, fX-alpha is created off of fX-branch to allow for
stabilization for the alpha release.  fX-branch is left open for commits for
bug fixes not intended for the alpha release.  Alpha can stabilize while at
the same time not blocking us from working on non-alpha blocker bugs.

For the next branch, fX-beta, I say it be created off of fX-alpha and the
gatekeeper do a git merge from fX-branch on to fX-beta to gather non-alpha
changes done while fX-alpha was in the works, but also to include any last
minute fixes that were done on fX-alpha and not fX-branch.

    master
     \- fX-branch           -->--->---+->-+                 <----<---<---+
         \- fX-alpha                  |   |       TIME                   |
             \- fX-beta     <- merge -+   |      PASSES                  |
                 \- fX-rc       <- merge -+                 ->- merge ->-+

My thought here is that everyone is doing work on fX-branch and the gatekeeper
is responsible for the alpha, beta, rc branches and the merges from the main
branch.  Everyone concentrates on doing their work on fX-branch and the sub
branches represent the work in progress aspect of stabilizing the release.

For the final build, fX-branch should be merged with fX-rc or the last sub
branch made and the release built from fX-branch.  The branches then represent
the history of the development of that fX release and fX-branch is the current
build.  And for Fedora, that means we're done at that point.

What do we get out of having multiple branches for a given
product/release, but only have one active at a given time?

Allowing patches intended for different milestones to be committed to the
repository without disrupting a stabilization effort.

The release lead could be responsible for cherry-picking fixes onto the
alpha/beta/rc branches (or at least auditing the branch prior to build)
in the extension I propose above.

I like the idea of a single person being the only one who is empowered
to cherry-pick fixes onto a release branch.  Makes for less of a
gigantic mess.

Definitely.  On a rotating basis, so everyone gets a turn.

- -- David Cantrell <dcantrell@xxxxxxxxxx>
Red Hat / Honolulu, HI

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkuOjRsACgkQ5hsjjIy1VklG7QCfS6/tOQUWRArE80hcW8jXCd3g
EaoAn1Um4o6joWFgKp0X7b/W80+QWKC3
=owuE
-----END PGP SIGNATURE-----

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux