If we are using "Development" branch as a shadow branch for "Stable" - is not 
worth going that route because the existing automation may not find all the 
issues.  As a result, "Stable" is not completely protected from breakage or 
failure.

"Stable" should have the last stable released code.
"Development" should be the release in progress and not a shadow branch for 
"Stable"
There should be merges from "Stable" to "Development"  if there are any 
HOTFIX/Maintenance releases that get released from "Stable" before the 
"Development"/Release in progress goes out
After QA completes testing, "Development" should get into "Stable"
Following the "development" merge into "Stable", cut a "Release" Branch
Any final bug fixes that are absolutely necessary before the Release, will get 
fixed on the "Release" Branch
Release software from the "Release" Branch
After Release, "Release" Branch goes into "Stable"
From then onwards, "Stable" will have the new Release code 

A similar approach was discussed in the wikis/blogs shared by Rajani and Sheng.

Thanks,
Raja
-----Original Message-----
From: Daan Hoogland [mailto:daan.hoogl...@gmail.com] 
Sent: Thursday, August 07, 2014 2:03 PM
To: dev
Subject: Re: [VOTE] git workflow

I am not for grand proposals so I don't agree that we should first make an 
inventory of all problems. The idea that we are going to do CI on a staging 
branch I take for a fact for the moment. Given that I would like to propose 
that we:

<proposal version='future'>
work on a 'development' branch.
merge on a nightly basis to a stable branch given the status of 'development' 
is 'passing'
branch release branches as 'x.y' from 'stable'
merge them back to 'stable' when stable and tag them as 'x.y.z'.
branch from 'x.y.z' when support branches need to be made as 'x.y' again do not 
merge those back in principle but keep those around for users to play with and 
because 'stable' and 'develop' continue </proposal>

Whether we use gitflow is irrelevant in this. What other changes we do as well. 
i.e. git pull instead of review board, using ci on 'development' or other 
branches.

Is this good enough for a vote?

regards,
Daan


On Thu, Aug 7, 2014 at 10:15 AM, Rohit Yadav <rohit.ya...@shapeblue.com> wrote:
> Hey,
>
> On 07-Aug-2014, at 9:22 am, Leo Simons <lsim...@schubergphilis.com> wrote:
>
>> On Aug 7, 2014, at 8:40 AM, Animesh Chaturvedi 
>> <animesh.chaturv...@citrix.com> wrote:
>>>> (Like most of the internet...) I strongly believe using cherry 
>>>> picks as the basic tool for (release) branch management is one of 
>>>> the worst choices you can make.
>>>>
>>>> But. Please. Can. We. Just. Stop. Cherry. Picking!!! :-D [1]
>>>>
>>> [Animesh] Leo I don't mind moving to merging branches rather than 
>>> cherry-picking for technical reasons, but I am not sure cherry-picking is 
>>> to blame entirely. Using it all the time caused the pain.
>>
>> Yes, I completely agree with that! It was a bit tongue-in-cheek, in fact the 
>> joke at the [1] reference...
>>
>>> [1] ... Using 'git cherry-pick' when there are actual cherries to 
>>> actually pick is fully endorsed by LSD Enterprises LTD.
>>> Picking things other than cherries voids warranty. ...
>>
>> ...tries to make the same point. I really should stop trying to be 
>> funny! More seriously,
>>
>>
>> Use distributed version control.
>> Commit early and often. Push often enough.
>> Strive for idempotent commits.
>> Write good commit messages.
>> Ask and give review liberally.
>> Keep history though rewriting some of it is ok.
>> Branch pre-emptively, except when you are sure you don’t need to.
>> Rebase when it is safe to do so.
>> Merge deliberately to combine branches.
>> Stabilize a branch before you merge from it.
>> Merge from the more stable onto the less stable branches.
>> Pick cherries from a less stable branch you won’t merge.
>> Know your tools.
>> Know when to break the rules.
>
> Very well said. May I add a solution to the cherry-picking problem, use a 
> baseline protocol:
>
> 1. Once a release branch is cut out, all the committers and contributors 
> “should” only work on release branch only. Only the new feature development 
> and its enhancements/bugfixes should continue to land on master directly or 
> merged from their respective branches.
>
> 2. The RMs or developers keep merging the release branch with fast forward 
> only, this way we don’t have to cherry-pick from master to release branch but 
> instead master gets all the good stuff from release branch and the release 
> branch gets “more attention”.
>
> 3. If we somehow can reduce the release cycle timeline/length, the divergence 
> will be less causing less conflicts/issues when following 1 and 2 above.
>
> Thoughts?
>
> Regards.
>
>>
>>
>> happy hacking,
>>
>>
>> Leo
>>
>
> Regards,
> Rohit Yadav
> Software Architect, ShapeBlue
> M. +41 779015219 | rohit.ya...@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

Reply via email to