cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <>
Subject Re: [PROPOSAL] Solving the cherry-picking problem
Date Thu, 07 Aug 2014 13:01:28 GMT
Hi David,

On 07-Aug-2014, at 2:37 pm, David Nalley <> wrote:

> On Thu, Aug 7, 2014 at 4:39 AM, Rohit Yadav <> wrote:
>> Hi,
>> I think the following can solve the cherry-picking problem but it needs everyone’s
support to work:
>> - Once a release branch is cut out, all the committers and contributors “should”
only work on the release branch. It can be discussed if we want to work on it directly or
branch out on it and work in that branch and have RMs to merge that branch on the release
branch. IMO if we work directly on the release branch we potentially reduce a lot of RM’s
>> - Only (new) feature development and related enhancements/bugfixes can land on master
directly or merged from their respective branches.
>> - The RMs or anyone would keep merging the release branch with fast forward only
on regular basis:
>>      git checkout master
>>      git merge --ff <release-branch>
>>      <fix any conflicts and git commit -as etc.>
>> This way ‘master' gets all the good stuff from release branch and the release branch
gets “more attention”.
>> If we somehow can reduce the release cycle timeline/length, the divergence between
master and release branches can be potentially less causing less conflicts/issues when following
the above.
>> Thoughts, flames?
> Hi Rohit:
> Help me understand some of the dynamics here:
> Folks focus on the release branch while trying to get a release out.
> Does that prohibit work being done on release+1 (e.g. pushing work to
> develop that didn't make it in to a release by feature freeze?)

Yes, people can work on master branch and commit/merge their feature branches after the release
branch is cut out for stuff that did not make into a release by the freeze. Note, in such
a workflow people should only do bugfixing and smaller enhancement on the release branch.

Therefore, master will become independent of the release (branch) and continue to get new
stuff, while release branch gets only bugfixes and enhancements (such as packaging fixes etc.).

When we merge fast-forward (by —ff it won’t create any merge commit) from release branch
to master it may lead to conflicts since people will land/merge their features (that did not
make into release) so we fix it.  By doing this process frequently we can fix smaller conflicts
instead of one big conflict at the end when we graduate the release branch to a release.

The protocol is simple — You fix on release branch first, test it and commit on release
branch, your changes land on master eventually by a fast forward merge on master.

What do you think about having this?

Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 |
Blog: | Twitter: @_bhaisaab

Find out more about ShapeBlue and our range of CloudStack related services

IaaS Cloud Design & Build<>
CSForge – rapid IaaS deployment framework<>
CloudStack Consulting<>
CloudStack Infrastructure Support<>
CloudStack Bootcamp Training Courses<>

This email and any attachments to it may be confidential and are intended solely for the use
of the individual to whom it is addressed. Any views or opinions expressed are solely those
of the author and do not necessarily represent those of Shape Blue Ltd or related companies.
If you are not the intended recipient of this email, you must neither take any action based
upon its contents, nor copy or show it to anyone. Please contact the sender if you believe
you have received this email in error. Shape Blue Ltd is a company incorporated in England
& Wales. ShapeBlue Services India LLP is a company incorporated in India and is operated
under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated
in Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd is a company
registered by The Republic of South Africa and is traded under license from Shape Blue Ltd.
ShapeBlue is a registered trademark.

View raw message