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