H. S. Teoh hsteoh at
Wed Sep 25 19:06:16 UTC 2019

On Wed, Sep 25, 2019 at 05:02:02PM +0000, berni via Digitalmars-d wrote:
> I'd like to take care of issue #20027 (and issue #20239), concerning
> As this are actually lot's of small issues I'm not sure, how
> to handle this:
> a) One big PR with lot's of small commits?
> b) One small PR after another?
> c) Like b) but trying to submit some nonclashing PRs in parallel? (not
> sure if this is possible at all)
> d) ???
> What's best?

I haven't contributed a PR for a while now, but based on past
experience, my advice is to go with (b) or (c).

I recommend against (a) because, based on my past experience as PR
reviewer, large PRs tend to be:

1) Too big to review in one sitting, and so reviewers are more liable to
put off reviewing it.

2) Too big to fully comprehend without some major dedicated effort at
understanding the affected code, and since reviewers are volunteers,
this is a big disincentive to review it (I can spare 5-10 mins here or
there, but the prospect of taking 2 hours off my day job just to review
a PR is not very attractive, to say the least).

3) Easily stuck for a long time over one or two points of controversy
while the rest of the uncontroversial changes remain languishing in the
PR queue instead of being merged. Breaking your change into smaller,
more-or-less independent chunks makes it more likely that
non-controversial changes will get merged to the benefit of all, even
while some of the other changes are stuck due to discussion, etc..

4) Hard to keep up-to-date as the master branch continues to change and
merge conflicts arise. Big PRs tend to have more conflicts over time,
and the amount of effort required to resolve these conflicts on an
ongoing basis while the PR languishes in the queue can be very
off-putting. It can easily add up to more effort than writing the PR in
the first place, and not many people can stomach that.

So, don't do (a). Go with (b) or (c).


May you live all the days of your life. -- Jonathan Swift

More information about the Digitalmars-d mailing list