The most common use I have seen for the master branch, is to signify that
it contains the most recent release of the product. The individual release
branches would still be there, like releases/slider-0.60,
releases/slider-0.70, etc. But for anyone who would just need the latest
release would not have to look around to find the latest branch or tag.
They would just checkout master. Very old release branches can be purged
from time to time.

*A typical project lifecycle from branching point of view could be
something like this -*
Development happens in develop branch. There would typically be bunch of
features developed in specific feature branches, and they would be merged
into develop. A release branch is then created off of develop when the code
freeze date for a specific release is reached. From then on typically only
bug fixes are taken into the release branch based on QE find. The develop
branch is open at this point for regular development for next releases,
etc. Once the release branch is stable and free of must fix bugs, it is
ready to be released. All release work is done off of the release branch.
Once the global announcement is made and binaries are released to the world
the master branch is synced with this latest release branch.

This document provides more details and is used by quite a few companies
for internal development -
http://nvie.com/posts/a-successful-git-branching-model/

Thoughts and comments on this strategy?

-Gour


On Wed, Jan 28, 2015 at 10:02 AM, Josh Elser <[email protected]> wrote:

> Could also just remove "master" in its current use and s/develop/master/,
> leveraging the master branch as the normal place things are implemented.
>
> It really doesn't matter in the end (it's just a name), but, if this is
> also signifying a move away from git-flow, it makes more sense to me to use
> "master" instead of "develop".
>
>
> Sumit Mohanty wrote:
>
>> I vote for removing the master branch. This is in the line of what I was
>> also wondering since we have created branches for 0.60 and 0.70. Branches
>> can remain the source of truth for the release and can facilitate minor
>> releases if needed.
>>
>> On Wed, Jan 28, 2015 at 8:58 AM, Steve Loughran<[email protected]>
>> wrote:
>>
>>  The latest release process document is now in svn at
>>> site/trunk/content/developing/releasing.md
>>>
>>> It hasn't yet propagated to the HTML view, when it does it will be at
>>>
>>> http://slider.incubator.apache.org/developing/releasing.html
>>>
>>> I think we've outgrown the git flow release process.
>>>
>>> The feature branch seems to work well, but the release process has
>>> everything merged into the branch "master",
>>>
>>>     - It doesn't handle long-lived release/supported branches
>>>     - Merging into master/ can create convoluted dependency graphs,
>>>     resulting a commit graph (and hence git commit ID) which is different
>>> from
>>>     what is released.
>>>
>>> What are we to do?
>>>
>>> I'm wondering if we should get rid of that master/ branch altogether.
>>>
>>> Instead we could have some tags which we could move around:
>>>
>>>     - last_branch_6_stable_release
>>>     - last_branch_6_dev_release
>>>     - last_branch_7_stable_release
>>>     - last_branch_7_dev_release
>>>     - last_stable_release
>>>     - last_dev_release
>>>
>>> If you fetch all tags then check out by tag, you end with whatever
>>> version
>>> we think is "last" on a branch; the stable/dev releases can even cross
>>> branches as something migrates from development to stable
>>>
>>> During the release process, instead of doing git merge master work, we'd
>>> just delete some tags, create the new ones and then push them to the
>>> origin.
>>>
>>> Thoughts?
>>>
>>> -steve
>>>
>>> --
>>> CONFIDENTIALITY NOTICE
>>> NOTICE: This message is intended for the use of the individual or entity
>>> to
>>> which it is addressed and may contain information that is confidential,
>>> privileged and exempt from disclosure under applicable law. If the reader
>>> of this message is not the intended recipient, you are hereby notified
>>> that
>>> any printing, copying, dissemination, distribution, disclosure or
>>> forwarding of this communication is strictly prohibited. If you have
>>> received this communication in error, please contact the sender
>>> immediately
>>> and delete it from your system. Thank You.
>>>
>>>
>>
>>
>>

-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Reply via email to