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 33C44DAB5 for ; Wed, 15 Aug 2012 10:17:47 +0000 (UTC) Received: (qmail 72975 invoked by uid 500); 15 Aug 2012 10:17:46 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 72783 invoked by uid 500); 15 Aug 2012 10:17:46 -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 72756 invoked by uid 99); 15 Aug 2012 10:17:45 -0000 Received: from minotaur.apache.org (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Aug 2012 10:17:45 +0000 Received: from localhost (HELO mail-lb0-f175.google.com) (127.0.0.1) (smtp-auth username bdelacretaz, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Aug 2012 10:17:44 +0000 Received: by lban1 with SMTP id n1so723466lba.6 for ; Wed, 15 Aug 2012 03:17:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.152.125.116 with SMTP id mp20mr15357092lab.19.1345025862708; Wed, 15 Aug 2012 03:17:42 -0700 (PDT) Received: by 10.112.93.51 with HTTP; Wed, 15 Aug 2012 03:17:42 -0700 (PDT) In-Reply-To: References: Date: Wed, 15 Aug 2012 12:17:42 +0200 Message-ID: Subject: Re: [MENTORS] Current Branching Strategy Vote Results From: Bertrand Delacretaz To: flex-dev@incubator.apache.org Content-Type: text/plain; charset=UTF-8 On Wed, Aug 15, 2012 at 12:03 PM, Carlos Rovira wrote: > ...In our case we have a core piece called UIComponent composed over 14-15k > lines of code that are "flex" itself. > > If we plan to refactor and rethink that core piece we will do over several > weeks until it was done. People doing it can't made in whiteboards and it's > not a one-man-task. > > This kind of task need to be done in team and with a SCM prepared for that.... I don't know the details of that issue, so I might be off-base but in general here's how I would tackle such a job: 1. Fork/branch the code and create a proof of concept prototype, to see more clearly what needs to change. Maybe several prototypes if people have different ideas. Make sure to concentrate on the core problem. 2. Review the differences between the prototype and trunk to see the impact 3. Discuss the best strategy for implementing the actual change, based on the proof of concept 4. Make sure the changed areas are covered by automated tests 5. Implement the changes, over a relatively short period of time as the proof of concept has shown how to do that, and hopefully its code can partially be reused. In this scenario 5. is where the bulk of the merging/refactoring happens in trunk - if it has big impact it might need some coordination to make sure enough manpower is available to make it happen with minimal disruption. I don't think using Git or svn makes much of a difference in such a scenario - 5. is going to be somewhat painful anyway. -Bertrand