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 >