You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Rohit Yadav <ro...@shapeblue.com> on 2014/08/07 10:39:53 UTC

[PROPOSAL] Solving the cherry-picking problem

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 work.

- 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?

Regards.

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 | rohit.yadav@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab



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

IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

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.

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Daan Hoogland <da...@gmail.com>.
Ah, an even smaller proposal then mine, good.

On Thu, Aug 7, 2014 at 10:39 AM, Rohit Yadav <ro...@shapeblue.com> 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 work.
>
> - 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?
>
> Regards.
>
> Regards,
> Rohit Yadav
> Software Architect, ShapeBlue
> M. +41 779015219 | rohit.yadav@shapeblue.com
> Blog: bhaisaab.org | Twitter: @_bhaisaab
>
>
>
> Find out more about ShapeBlue and our range of CloudStack related services
>
> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>
> 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.



-- 
Daan

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rajani Karuturi <ra...@apache.org>.
On Thu, Aug 7, 2014 at 3:09 PM, Rohit Yadav <ro...@shapeblue.com>
wrote:

>
> On 07-Aug-2014, at 11:23 am, Rajani Karuturi <ra...@apache.org> wrote:
>
> > Hi Rohit,
> > Thanks for the proposal.
> >
> > I do not agree to the third point that RM should keep merging to master.
> We
> > could do that at the end of the release with a single merge.
>
> By landing changes from release to master, we get continuous supply of
> bugfixes etc. to master since master will need them as well. And we do that
> at the time of release as well.
>
> From technical view, there is nothing wrong in landing changes from stable
> branches to master and feature branches continuously.
>


the change flow is right from stable to master. But, I am worried it may
add to RM's load again. Since master is under active development, it may
lead to merge conflicts.



>
> > That said, its definitely better than what we currently do and hence a +1
> > from me.
>
> This is not a voting thread yet but thanks for your comments.
>

oops.. ;)
-- 
~Rajani

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rohit Yadav <ro...@shapeblue.com>.
On 07-Aug-2014, at 11:23 am, Rajani Karuturi <ra...@apache.org> wrote:

> Hi Rohit,
> Thanks for the proposal.
>
> I do not agree to the third point that RM should keep merging to master. We
> could do that at the end of the release with a single merge.

By landing changes from release to master, we get continuous supply of bugfixes etc. to master since master will need them as well. And we do that at the time of release as well.

>From technical view, there is nothing wrong in landing changes from stable branches to master and feature branches continuously.

> That said, its definitely better than what we currently do and hence a +1
> from me.

This is not a voting thread yet but thanks for your comments.

Cheers.

>
>
>
> On Thu, Aug 7, 2014 at 2:09 PM, Rohit Yadav <ro...@shapeblue.com>
> 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 work.
>>
>> - 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?
>>
>> Regards.
>>
>> Regards,
>> Rohit Yadav
>> Software Architect, ShapeBlue
>> M. +41 779015219 | rohit.yadav@shapeblue.com
>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>
>>
>>
>> Find out more about ShapeBlue and our range of CloudStack related services
>>
>> IaaS Cloud Design & Build<
>> http://shapeblue.com/iaas-cloud-design-and-build//>
>> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>> CloudStack Infrastructure Support<
>> http://shapeblue.com/cloudstack-infrastructure-support/>
>> CloudStack Bootcamp Training Courses<
>> http://shapeblue.com/cloudstack-training/>
>>
>> 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.
>>
>
>
>
> --
> ~Rajani

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 | rohit.yadav@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab



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

IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

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.

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rajani Karuturi <ra...@apache.org>.
Hi Rohit,
Thanks for the proposal.

I do not agree to the third point that RM should keep merging to master. We
could do that at the end of the release with a single merge.

That said, its definitely better than what we currently do and hence a +1
from me.



On Thu, Aug 7, 2014 at 2:09 PM, Rohit Yadav <ro...@shapeblue.com>
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 work.
>
> - 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?
>
> Regards.
>
> Regards,
> Rohit Yadav
> Software Architect, ShapeBlue
> M. +41 779015219 | rohit.yadav@shapeblue.com
> Blog: bhaisaab.org | Twitter: @_bhaisaab
>
>
>
> Find out more about ShapeBlue and our range of CloudStack related services
>
> IaaS Cloud Design & Build<
> http://shapeblue.com/iaas-cloud-design-and-build//>
> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
> CloudStack Infrastructure Support<
> http://shapeblue.com/cloudstack-infrastructure-support/>
> CloudStack Bootcamp Training Courses<
> http://shapeblue.com/cloudstack-training/>
>
> 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.
>



-- 
~Rajani

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Daan Hoogland <da...@gmail.com>.
Hari,

if we merge we can no longer distinguish between minor and trivial or
major till block. And we shouldn't as we validate any staging branch
periodically before merging.

On Thu, Aug 7, 2014 at 2:51 PM, Harikrishna Patnala
<ha...@citrix.com> wrote:
> Hi Rohit,
> Thanks for the proposal.
>
> I’ve some concerns.
> If we work directly on release branch only (with out forward branch) I’m not sure how we control regressions in the release time.
>
> In case of forward branch cut from the release branch RMs will merge only critical bug fixes to release branch, where do the non-critical bug fixes go into ? according to your 2nd statement minor/major bug fixes remain in forward branch only.
>
> Thanks,
> Harikrishna
>
> On 07-Aug-2014, at 2:09 pm, Rohit Yadav <ro...@shapeblue.com> 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 work.
>>
>> - 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?
>>
>> Regards.
>>
>> Regards,
>> Rohit Yadav
>> Software Architect, ShapeBlue
>> M. +41 779015219 | rohit.yadav@shapeblue.com
>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>
>>
>>
>> Find out more about ShapeBlue and our range of CloudStack related services
>>
>> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>>
>> 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.
>



-- 
Daan

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rohit Yadav <ro...@shapeblue.com>.
Hi Min,

On 07-Aug-2014, at 7:22 pm, Min Chen <mi...@citrix.com> wrote:

> Hi Rohit,
>
> IMHO, the root cause for RM cherry-pick problem is code quality. Without
> solving that first based on some kind of enforcement, this will not help
> much. The reason to use forward branch and RM cherry-picking is to control
> what can go to release branch. Your proposal removed that part, then I am
> not sure how you can guarantee a quality release.

Please read the initial proposal and subject again, IMHO you can never guarantee code/commit quality.

This is to address the sync issue, from release branch to master and have people give more attention to release branch.
This is followed by a lot of companies such as fb, google, perforce etc.
Please search about “baseline protocol” and “tofu scale” to know more.

TL;DR -- “commit first on release branch, use merge --fast-forward  over cherry-picking”.

Cheers.

>
> Thanks
> -min
>
> On 8/7/14 6:06 AM, "Rohit Yadav" <ro...@shapeblue.com> wrote:
>
>> Hi Hari,
>>
>> You¹ve a valid concern, but on master when we¹re pushing bugfixes for
>> multiple issues the RM eventually picks them to release branch anyway.
>>
>> At the end of the day, usage of automated tests, build/unit tests will
>> ensure some quality control. This proposal will solve issues for RM (the
>> cherry-pick and losing commits ones) and it does not do much about code
>> quality or control.
>>
>> To get it working:
>> - During codefreeze, a contributor should not slip in half baked features
>> and use bugfix as an excuse to finish/fix the feature
>> - On the release branch you work first, fix/commit only bug/fixes and
>> release specific enhancements (such as docs, config files, scripts,
>> packaging etc.)
>> - Master branch is free and you can do wild development, merge your
>> feature branch that did not went in release etc. but you merge
>> ‹fast-forward the release branch on it often (couple of times a day is
>> recommended), fix conflicts and carry on
>>
>> Cheers.
>>
>> On 07-Aug-2014, at 2:51 pm, Harikrishna Patnala
>> <ha...@citrix.com> wrote:
>>
>>> Hi Rohit,
>>> Thanks for the proposal.
>>>
>>> I¹ve some concerns.
>>> If we work directly on release branch only (with out forward branch)
>>> I¹m not sure how we control regressions in the release time.
>>>
>>> In case of forward branch cut from the release branch RMs will merge
>>> only critical bug fixes to release branch, where do the non-critical bug
>>> fixes go into ? according to your 2nd statement minor/major bug fixes
>>> remain in forward branch only.
>>>
>>> Thanks,
>>> Harikrishna
>>>
>>> On 07-Aug-2014, at 2:09 pm, Rohit Yadav <ro...@shapeblue.com>
>>> 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 work.
>>>>
>>>> - 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?
>>>>
>>>> Regards.
>>>>
>>>> Regards,
>>>> Rohit Yadav
>>>> Software Architect, ShapeBlue
>>>> M. +41 779015219 | rohit.yadav@shapeblue.com
>>>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>>>
>>>>
>>>>
>>>> Find out more about ShapeBlue and our range of CloudStack related
>>>> services
>>>>
>>>> IaaS Cloud Design &
>>>> Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>>>> CSForge ­ rapid IaaS deployment
>>>> framework<http://shapeblue.com/csforge/>
>>>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>>> CloudStack Infrastructure
>>>> Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>>>> CloudStack Bootcamp Training
>>>> Courses<http://shapeblue.com/cloudstack-training/>
>>>>
>>>> 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.
>>>
>>
>> Regards,
>> Rohit Yadav
>> Software Architect, ShapeBlue
>> M. +41 779015219 | rohit.yadav@shapeblue.com
>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>
>>
>>
>> Find out more about ShapeBlue and our range of CloudStack related services
>>
>> IaaS Cloud Design &
>> Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>> CSForge ­ rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>> CloudStack Infrastructure
>> Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>> CloudStack Bootcamp Training
>> Courses<http://shapeblue.com/cloudstack-training/>
>>
>> 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.
>

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 | rohit.yadav@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab



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

IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

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.

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Min Chen <mi...@citrix.com>.
Hi Rohit,

	IMHO, the root cause for RM cherry-pick problem is code quality. Without
solving that first based on some kind of enforcement, this will not help
much. The reason to use forward branch and RM cherry-picking is to control
what can go to release branch. Your proposal removed that part, then I am
not sure how you can guarantee a quality release.

	Thanks
	-min

On 8/7/14 6:06 AM, "Rohit Yadav" <ro...@shapeblue.com> wrote:

>Hi Hari,
>
>You¹ve a valid concern, but on master when we¹re pushing bugfixes for
>multiple issues the RM eventually picks them to release branch anyway.
>
>At the end of the day, usage of automated tests, build/unit tests will
>ensure some quality control. This proposal will solve issues for RM (the
>cherry-pick and losing commits ones) and it does not do much about code
>quality or control.
>
>To get it working:
>- During codefreeze, a contributor should not slip in half baked features
>and use bugfix as an excuse to finish/fix the feature
>- On the release branch you work first, fix/commit only bug/fixes and
>release specific enhancements (such as docs, config files, scripts,
>packaging etc.)
>- Master branch is free and you can do wild development, merge your
>feature branch that did not went in release etc. but you merge
>‹fast-forward the release branch on it often (couple of times a day is
>recommended), fix conflicts and carry on
>
>Cheers.
>
>On 07-Aug-2014, at 2:51 pm, Harikrishna Patnala
><ha...@citrix.com> wrote:
>
>> Hi Rohit,
>> Thanks for the proposal.
>>
>> I¹ve some concerns.
>> If we work directly on release branch only (with out forward branch)
>>I¹m not sure how we control regressions in the release time.
>>
>> In case of forward branch cut from the release branch RMs will merge
>>only critical bug fixes to release branch, where do the non-critical bug
>>fixes go into ? according to your 2nd statement minor/major bug fixes
>>remain in forward branch only.
>>
>> Thanks,
>> Harikrishna
>>
>> On 07-Aug-2014, at 2:09 pm, Rohit Yadav <ro...@shapeblue.com>
>>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 work.
>>>
>>> - 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?
>>>
>>> Regards.
>>>
>>> Regards,
>>> Rohit Yadav
>>> Software Architect, ShapeBlue
>>> M. +41 779015219 | rohit.yadav@shapeblue.com
>>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>>
>>>
>>>
>>> Find out more about ShapeBlue and our range of CloudStack related
>>>services
>>>
>>> IaaS Cloud Design &
>>>Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>>> CSForge ­ rapid IaaS deployment
>>>framework<http://shapeblue.com/csforge/>
>>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>> CloudStack Infrastructure
>>>Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>>> CloudStack Bootcamp Training
>>>Courses<http://shapeblue.com/cloudstack-training/>
>>>
>>> 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.
>>
>
>Regards,
>Rohit Yadav
>Software Architect, ShapeBlue
>M. +41 779015219 | rohit.yadav@shapeblue.com
>Blog: bhaisaab.org | Twitter: @_bhaisaab
>
>
>
>Find out more about ShapeBlue and our range of CloudStack related services
>
>IaaS Cloud Design &
>Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>CSForge ­ rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>CloudStack Infrastructure
>Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>CloudStack Bootcamp Training
>Courses<http://shapeblue.com/cloudstack-training/>
>
>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.


Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rohit Yadav <ro...@shapeblue.com>.
Hi Hari,

You’ve a valid concern, but on master when we’re pushing bugfixes for multiple issues the RM eventually picks them to release branch anyway.

At the end of the day, usage of automated tests, build/unit tests will ensure some quality control. This proposal will solve issues for RM (the cherry-pick and losing commits ones) and it does not do much about code quality or control.

To get it working:
- During codefreeze, a contributor should not slip in half baked features and use bugfix as an excuse to finish/fix the feature
- On the release branch you work first, fix/commit only bug/fixes and release specific enhancements (such as docs, config files, scripts, packaging etc.)
- Master branch is free and you can do wild development, merge your feature branch that did not went in release etc. but you merge —fast-forward the release branch on it often (couple of times a day is recommended), fix conflicts and carry on

Cheers.

On 07-Aug-2014, at 2:51 pm, Harikrishna Patnala <ha...@citrix.com> wrote:

> Hi Rohit,
> Thanks for the proposal.
>
> I’ve some concerns.
> If we work directly on release branch only (with out forward branch) I’m not sure how we control regressions in the release time.
>
> In case of forward branch cut from the release branch RMs will merge only critical bug fixes to release branch, where do the non-critical bug fixes go into ? according to your 2nd statement minor/major bug fixes remain in forward branch only.
>
> Thanks,
> Harikrishna
>
> On 07-Aug-2014, at 2:09 pm, Rohit Yadav <ro...@shapeblue.com> 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 work.
>>
>> - 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?
>>
>> Regards.
>>
>> Regards,
>> Rohit Yadav
>> Software Architect, ShapeBlue
>> M. +41 779015219 | rohit.yadav@shapeblue.com
>> Blog: bhaisaab.org | Twitter: @_bhaisaab
>>
>>
>>
>> Find out more about ShapeBlue and our range of CloudStack related services
>>
>> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>>
>> 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.
>

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 | rohit.yadav@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab



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

IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

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.

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Harikrishna Patnala <ha...@citrix.com>.
Hi Rohit,
Thanks for the proposal.

I’ve some concerns.
If we work directly on release branch only (with out forward branch) I’m not sure how we control regressions in the release time. 

In case of forward branch cut from the release branch RMs will merge only critical bug fixes to release branch, where do the non-critical bug fixes go into ? according to your 2nd statement minor/major bug fixes remain in forward branch only.

Thanks,
Harikrishna

On 07-Aug-2014, at 2:09 pm, Rohit Yadav <ro...@shapeblue.com> 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 work.
> 
> - 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?
> 
> Regards.
> 
> Regards,
> Rohit Yadav
> Software Architect, ShapeBlue
> M. +41 779015219 | rohit.yadav@shapeblue.com
> Blog: bhaisaab.org | Twitter: @_bhaisaab
> 
> 
> 
> Find out more about ShapeBlue and our range of CloudStack related services
> 
> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
> 
> 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.


Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rohit Yadav <ro...@shapeblue.com>.
Hi,

Just wanted to check if anyone has any feedback on this thread? Something we want to discuss, add, change, adapt and adopt?
if we’re all good I’ll start a voting thread tonight for adopting this.

Cheers.

On 07-Aug-2014, at 10:39 am, Rohit Yadav <ro...@shapeblue.com> 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 work.
>
> - 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?
>
> Regards.
>
> Regards,
> Rohit Yadav
> Software Architect, ShapeBlue
> M. +41 779015219 | rohit.yadav@shapeblue.com
> Blog: bhaisaab.org | Twitter: @_bhaisaab
>
>
>
> Find out more about ShapeBlue and our range of CloudStack related services
>
> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>
> 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.

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 | rohit.yadav@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab



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

IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

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.

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by Rohit Yadav <ro...@shapeblue.com>.
Hi David,

On 07-Aug-2014, at 2:37 pm, David Nalley <da...@gnsa.us> wrote:

> On Thu, Aug 7, 2014 at 4:39 AM, Rohit Yadav <ro...@shapeblue.com> 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 work.
>>
>> - 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?

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +41 779015219 | rohit.yadav@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab



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

IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

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.

Re: [PROPOSAL] Solving the cherry-picking problem

Posted by David Nalley <da...@gnsa.us>.
On Thu, Aug 7, 2014 at 4:39 AM, Rohit Yadav <ro...@shapeblue.com> 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 work.
>
> - 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?)

--David