One large pull request vs. several small ones?

Ryan Schmidt ryandesign at
Wed May 13 00:11:10 UTC 2020

On May 12, 2020, at 12:44, Jason Liu wrote:

> I would like to contribute a portfile for the newest version of Blender. I already have a local portfile that is compiling successfully, and I am doing some cleanup before submitting a pull request on GitHub. In addition to Blender itself, I have also packaged several of Blender's dependent libraries, which would also be new ports. My question is: Would it be better for me to submit all of the portfiles for Blender and the libraries in one single pull request? Or should I submit one pull request for each new package individually?
> The reason why I ask is that the dependency tree is a bit complex, with some of the libraries dependent on other libraries which I packaged as well. And if I were to submit each of the libraries individually, there's no telling how long it would take to get each one of them accepted and merged before I would be able to submit the Blender portfile.

Thanks for contributing! And thanks for asking first.

A problem I've seen before is that someone will submit a bunch of new ports or port updates all at once and make the same "mistakes" in each of them. Maybe not exactly mistakes, but doing things that are not necessarily the way we would recommend. It then becomes tedious to supply the same feedback for each port. We have many best practices that we'd like ports to follow and not all of them are well documented. Some of them just need to be learned by experience.

You may also want to let the earlier ports go through the buildbot system first to see if there are any build problems, especially on the older OS versions that the continuous integration systems hooked up to our pull requests don't test.

Maybe it would be better to start by submitting one PR for one isolated port. We can then give you feedback on anything that might need to be changed and merge it. This may enable you to make similar changes in your other ports before submitting them. Then submit a PR for a second port. At some point, once your PRs are getting accepted with no changes, you could submit two or more ports together in a single PR, if the ports are similar and not too complex.

I agree with others that a "commit bomb" that adds very many new ports all at once or makes very many changes all at once is likely to get ignored because it's just too much to review all at once, and mistakes are more likely to get overlooked.

More information about the macports-dev mailing list