I think option (a) is better in terms of maintaining branches. With option
(a) how do we handle a situation where one of these features breaks
backward compatibility or deprecates some functionality?

Pritesh

On Wed, Feb 27, 2019 at 4:23 PM Abhishek Girish <agir...@apache.org> wrote:

> My opinion would be option (a) as well. It's easier to maintain a single
> master branch. With a separate v2 branch, it's twice the effort to test
> common commits going in (either directly or via later via rebase).
>
> On Wed, Feb 27, 2019 at 12:40 PM Aman Sinha <amansi...@gmail.com> wrote:
>
> > My personal preference would be option (a)  as much as possible until we
> > get to a situation where it is getting too unwieldy at which point we
> > re-evaluate.
> >
> > Aman
> >
> > On Wed, Feb 27, 2019 at 12:35 PM Aman Sinha <amansi...@gmail.com> wrote:
> >
> > > Hi Drill devs,
> > > There are couple of ongoing projects - Resource Manager and the Drill
> > > Metastore - that are relatively large in scope.  Intermediate PRs will
> be
> > > created for these (for example, there's one open for the metastore [1].
> > > Another one for the RM [2].  These don't currently break existing
> > > functionality, so they have been opened against master branch.
> > >
> > > The question is, for future PRs,  would it make sense to create a
> > separate
> > > Drill 2.0 branch ?  There are pros and cons.  Separate branch would
> allow
> > > development on these features to proceed at a faster pace without
> > > disrupting others.  However, in Drill we typically have only created a
> > > separate branch close to the release, not up-front.  It simplifies
> > testing
> > > and maintenance to have a unified master branch.
> > >
> > > Another option is feature specific branch.
> > >
> > > What do people think about the 3 options:
> > >  a)  Merge intermediate PRs into Apache master as long as they don't
> > break
> > > existing functionality.  In some cases, temporary config options may be
> > > used to enable new functionality for unit testing.
> > >  b)  Create a Drill-2.0 branch which will be work-in-progress and be
> > > periodically sync-ed with master branch.  Code reviews will be done
> > against
> > > this branch.
> > > c)   Have a feature specific branch - e.g for RM, for Metastore etc.
> such
> > > that collaborators can do peer reviews and merge intermediate commits.
> > > These branches will also need to be periodically sync-ed with the
> master
> > > branch.
> > >
> > > Please share your choice of one of these options and any additional
> > > thoughts.
> > >
> > > [1] https://github.com/apache/drill/pull/1646
> > > [2] https://github.com/apache/drill/pull/1652
> > >
> >
>

Reply via email to