2017-10-11 18:58 GMT+02:00 Ivan Kelly <iv...@apache.org>:

> Responses inline.
>
> >> Last thursday, we a had a short discussion about possibly changing the
> >> merge process to allow unsquashed commits
> >>
> >
> > I don't think is the best way.
> > The history of a pull request may have several minor commits and IMO it
> is
> > better to hide such conversation in the official git history of the
> project
> > If we think that the resulting commit is too big maybe we should split
> the
> > patch into smaller parts.
> Sam isn't suggesting that we keep all the little updates in the commit
> log. Rather, he is suggesting that PRs get split into self contained.
>
> Large diffs are just bad.
>
> [1] gives a good summary of why, but I'll add that in a globally
> distributed open source project, the problem of large diffs being hard
> to review is magnified tenfold. We don't all live in the same part of
> the world, so the turn around between posting the PR, getting
> feedback, fixing feedback and getting more feedback is long. For the
> most part we don't work for the same organizations, so code reviews
> are often bumped for other tasks that have higher priority in our
> jobs. Again, this lengthens turn around time. And the longer turn
> around time is, the harder it is to retain any context on what you
> were reviewing.
>
> Swapping back into a context takes time and effort, leads to "review
> fatigue" and ultimately to reviewers just skimming the patch and
> giving it a LGTM, rather than doing a proper review. This is a real
> problem. I recall seeing a research paper from google(I think?), where
> they correlated diff size to bug generation rates (I can't find the
> reference now, but will keep looking).
>
> We need to reduce the amount of context that needs to be swapped back
> in when coming back to a review, and the largest part of this is
> reducing the size of patches.
>
> [2] has a good primer on how to keep PRs and patches small. If anyone
> wants help breaking up a patch before code review, I would be more
> than happy to lend a hand.
>
> [1] https://medium.com/@kurtisnusbaum/large-diffs-are-
> hurting-your-ability-to-ship-e0b2b41e8acf
> [2] https://graysonkoonce.com/stacked-pull-requests-keeping-
> github-diffs-small/



I really think that most of the problem is related to having huge diffs as
Ivan is claiming

I am really sorry that we broke GitHub with patch for BP-15, with toom any
commits and comments.
Maybe we used the PR dashboard is a bad way.
We did a discussion and we continued the conversation on the PR even if we
changed opinion several times.
In the original document for PB15 there is a small subset of the changes
that will be in with that patch.
That patch introduces a new framework for mocking BookKeeper client
artifacts for instance :-)
It could be done in another patch.


I will experiment with BP-14 for stacked PRs !

Enrico



>
>
> > | and the use of the github merge button.
> >
> > I don't like the GitHub button, it is easy to use it even with the
> > smartphone and it is very dangerous ! I would like to disable it at all.
> > I am actually running very well with the bk-merge-script as it does all
> the
> > validation we want.
> I'm neither yay nor nay on the button, but if we do require the merge
> script, we should disable the button completely.
>


+1 I would like to do this very soon


>
> > The checks from jenkins/travis/coveralls.io...could be flaky and it
> would
> > be very annoying to have to wait for a full green light for a pull
> request
> > to be merged
> This is a problem in itself, and needs to be addressed.
>

Yup, we are working on flaky tests and we are on the way


> -Ivan
>

Reply via email to