It looks like I am going to be a minority opinion here, but I think there
is at least a case to make that pull requests area little easier for
newcomers.
I also have opinions about rebasing branches that are shared publicly or
currently under review. While it isn't often a problem, rebasing often
involves squashing which further distorts the history of how a feature was
developed. This is part of the reason why we had moved to Pull requests for
Drill. We reached a juncture where we were making fixes and implementing
features often required refactoring or general cleanup, and the reviews got
messy on reviewboard. Pull requests make it easier to review a multi-part
changeset, where cosmetic or refactoring changes can be in separate commit
from bug fixes or features. The github interface does give you decent
access to view individual commits, or the combination of all of the work on
the branch.

I have only been working with gerrit recently, but it seems to have the
same behavior or reviewboard in terms of providing a mechanism for looking
at essentially diffs between diffs. The relationship between these overall
changeset revisions can get quite complicated, as the first one will be
based off an earlier version of master, then an update will be rebased on
the lastest master, with the original work along with any conflict
resolution smashed into the same unit. This always seemed a bit
counter-intuitive to me, because it puts information about the project
history that could be stored in git, using merge commits, instead inside of
the database of the web app.

- Jason

On Fri, Apr 15, 2016 at 10:08 AM, Todd Lipcon <t...@cloudera.com> wrote:

> +1 for Gerrit from me too -- we're using it on Kudu and everyone on the
> team likes it.
>
> Happy to help admin the server on the gerrit.cloudera.org box which hosts
> Kudu and Impala
>
> -Todd
>
> On Fri, Apr 15, 2016 at 8:48 AM, Wes McKinney <w...@cloudera.com> wrote:
>
> > In my experience, GitHub pull requests are only appropriate for patches
> > that do not evolve significantly from the first iteration. Changes to
> > patches frequently cause outstanding points of discussion to be obscured
> > (the dreaded "comment on an outdated diff").
> >
> > Rebasing also frequently puts GitHub through a loop.
> >
> > Too often, as a result, it's tempting to rubber-stamp large patches on
> > GitHub PRs vs reviewing with great care (which the tool penalizes you
> for,
> > IMHO).
> >
> > Like Jacques my preference is to have a Gerrit instance available that we
> > can opt in to (I would also like to use Gerrit for parquet-cpp), but not
> > require a heavier process necessarily for small patches.
> >
> > On Friday, April 15, 2016, Zheng, Kai <kai.zh...@intel.com> wrote:
> >
> > > I'm not seeing either is good over the other, but did notice that many
> > > good discussions in PR reviewing not seen here, though concrete
> comments
> > > for some codes in place are very convenient comparing with JIRA based
> > > reviewing. No one just looks to be perfect.
> > >
> > > Regards,
> > > Kai
> > >
> > > -----Original Message-----
> > > From: Wes McKinney [mailto:w...@cloudera.com <javascript:;>]
> > > Sent: Friday, April 15, 2016 1:38 AM
> > > To: dev@arrow.apache.org <javascript:;>
> > > Subject: Code review tools for Arrow patches
> > >
> > > hello all,
> > >
> > > We're reaching a junction where larger patches to the Arrow codebase
> will
> > > become more frequent, and effective code reviews will be important part
> > of
> > > maintaining a high quality project going forward.
> > >
> > > In general, the GitHub pull request UI is not generally thought of as
> > very
> > > productive in large code reviews (some recent exposition on this
> > > topic:
> > >
> >
> http://www.beepsend.com/2016/04/05/abandoning-gitflow-github-favour-gerrit/
> > > ).
> > > Many large engineering teams prefer such (git-centric) tools as Gerrit,
> > > though there are other code review tools available.
> > >
> > > I don't think we are at a point where a particular code review process
> > > should be enforced, but more that we should have more tools available
> for
> > > groups of Arrow committers who wish to collaborate in a particular way.
> > >
> > > As I'm familiar with Gerrit from working on Apache projects that
> > > Cloudera's involved with, my bias would be to try to get an instance
> set
> > up
> > > so that larger patches can be reviewed in a more detailed and
> > transactional
> > > way. For example: we could use gerrit.cloudera.org (like Kudu and
> > > Impala), but I would be happy to use any infrastructure provider.
> > >
> > > There has been some resistance / inaction within the ASF to create an
> > > ASF-managed Gerrit instance:
> > > https://issues.apache.org/jira/browse/INFRA-2205.
> > >
> > > I'm interested to hear other perspectives.
> > >
> > > Thanks,
> > > Wes
> > >
> >
>
>
>
> --
> Todd Lipcon
> Software Engineer, Cloudera
>

Reply via email to