Hi Logan...

On Tue, Feb 5, 2013 at 1:38 AM, Logan McNaughton <lo...@bacoosta.com> wrote:

> Hi, I'm new to committing, I have a question about branches that may have
> been answered before:
>

1st of all welcome aboard


>
> What is the purpose of the "master" branch? For instance, I found a problem
> in CLOUDSTACK-1152 that affects the 4.1 branch (a missing </para> in the
> docs) but the </para> is there in master.
>
> I guess my question is, why is there a "master" branch? Why aren't changes
> just merged directly into 4.1 or 4.0.2 or whatever the version may be?
>

I would say this is a general question not related to Git per se, although
'master' is more for DVCS than SCM(s) like SVN where it is called a 'trunk'

In general the 'master' or 'trunk' in where the main continues development
happens for new features also bug fixing etc.

When a certain release is about to come or we want to limit the code base
in a certain point of time not to have new features but more of bug fixing
and to cut maintenance  releases out of it a branch is created. This branch
can be maintained for a while till this main stream is out of maintenance
and hence a new branch take focus etc

For sure more than one branch can be of focus because it is of interest for
different users. You can have a look at the SVN repositories for different
ASF projects to get an idea about that

Additional to that, in Apache Cloud Stack different branches are created to
major tasks, features and refactoring  which eventually are merged into
'master', this helps to keep the master as stable as possible and not
affected by these major changes till the developer(s) working on that
branch have enough trust that all is OK and then the merge is accomplished.
One of the recent examples is the merge of the 'javlin' branch in which
major refactoring is done to use Spring

Hope that helps :)

-- 
Thanks
- Mohammad Nour
----
"Life is like riding a bicycle. To keep your balance you must keep moving"
- Albert Einstein

Reply via email to