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/

> | 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.

> 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.

-Ivan

Reply via email to