On Mon, Aug 13, 2012 at 3:29 PM, Alex Harui <aha...@adobe.com> wrote:
> > > > On 8/13/12 3:24 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com> wrote: > > > 2012/8/14 Dave Fisher <dave2w...@comcast.net> > > > >> One thing I like about SVN is that it discourages branching to necessary > >> times while git encourages branching for a whim. > >> > > > > SVN discourages branching because is not a core part in the design of the > > system, while in Git is a core part. > > > > In SVN you try to not branch because you know the nightmare it could > bring > > to your source code. In Git you will want to branch because it brings > > clarity and best practice to you development model... > What is that "clarity"? Can you give me an example? If I want to > contribute a set of Spark Charts, why should I have to cut a branch first? > Why can't I just check in ChartBase into the "develop" branch, then add in > Pie, Bar, etc over time in subsequent check ins as I finish them up? > There can be many scenarios. Let's say that while working on ChartBase you realize that you can make it perform much better by tweaking something in UIComponent. You cant make that tweak in 'develop' because everyone else's work might get affected. So you cut a 'UIComponentTweak 'branch, make the tweak to UIComponent, run regression tests for existing components and test the new ChartBase. When you are happy, you merge the 'UIComponentTweak' branch to 'develop' and continue working on 'develop'. You may ask - why branch? Why not do all the work locally before checking it into 'develop'. This prevents me from collaborating with others. I might enlist the help of other committers and non-committers to help me run regression tests if I do it on a branch on the remote repo instead of just on my machine. As you can see - you branch when you need to. No one is forced to not work on the develop branch. Om