Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0F10DDAF5 for ; Mon, 13 Aug 2012 22:47:08 +0000 (UTC) Received: (qmail 6942 invoked by uid 500); 13 Aug 2012 22:47:07 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 6901 invoked by uid 500); 13 Aug 2012 22:47:07 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 6891 invoked by uid 99); 13 Aug 2012 22:47:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Aug 2012 22:47:07 +0000 X-ASF-Spam-Status: No, hits=1.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of omuppi1@gmail.com designates 209.85.215.47 as permitted sender) Received: from [209.85.215.47] (HELO mail-lpp01m010-f47.google.com) (209.85.215.47) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Aug 2012 22:47:01 +0000 Received: by lagv3 with SMTP id v3so2026379lag.6 for ; Mon, 13 Aug 2012 15:46:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=4/4cO2yp+uzMnqyNxog14fI+NJmJcfqYb8nPEPCm3xs=; b=lLsQxnHdXFiBkRsvfQpQnL43Q1h9EeCzrINOI++bXnD3JXSnI/2k0OS8HEiqZrHNzN prlcW0yKOOPEPvLMmKst7CC+f/YqgvREp+Mcg6HoULRbuZgBTS1h7p1uVugTuzQEi27/ Z5X0Jg045wvRAPdSTqKKXnVvgv0JCF/PHYGQzLxbzydUCxYH3G4meSGyrc/KhDJRM8SP uDqtGlE96qyjNYvsI2/PaCZrniYg2Wg3N5DpeorTaAYAdaZMNG1Ol2PjDXNZyBYVEzxd 25JU2vJXR3azBlHV0pp+ZEfWnLJiWw49HoWIoS4tJvyWt95EkMM/UQh086PXDhf1tijG btAQ== Received: by 10.112.10.198 with SMTP id k6mr7141424lbb.83.1344898000163; Mon, 13 Aug 2012 15:46:40 -0700 (PDT) MIME-Version: 1.0 Sender: omuppi1@gmail.com Received: by 10.112.81.74 with HTTP; Mon, 13 Aug 2012 15:46:09 -0700 (PDT) In-Reply-To: References: From: Om Date: Mon, 13 Aug 2012 15:46:09 -0700 X-Google-Sender-Auth: DpMgwsV-JRsESjc5X0q07WFpWCg Message-ID: Subject: Re: [DISCUSS] Re: [VOTE] Branching Strategy and SCM To: flex-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=e0cb4efe35028f131d04c72d77d4 X-Virus-Checked: Checked by ClamAV on apache.org --e0cb4efe35028f131d04c72d77d4 Content-Type: text/plain; charset=ISO-8859-1 On Mon, Aug 13, 2012 at 3:29 PM, Alex Harui wrote: > > > > On 8/13/12 3:24 PM, "Carlos Rovira" wrote: > > > 2012/8/14 Dave Fisher > > > >> 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 --e0cb4efe35028f131d04c72d77d4--