Pull request size #1647
stalniy
started this conversation in
Contribution RFC
Replies: 2 comments 2 replies
-
It's possible to check current amount of changes locally with this command:
|
Beta Was this translation helpful? Give feedback.
1 reply
-
I totally support the proposal. The only thing I find challenging and non-realistic is this:
It would block the progress imo. What still makes sense is not to request reviews for dependent PRs. Basically the flow would be:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
The aim of this RFC is to bring attention to the size of pull requests. Large PRs (500–1000+ lines) are slowing down reviews and increasing the risk of unnoticed issues. This is amplified when the number of comments grows, as many changes naturally lead to more questions and follow-up fixes.
To improve review speed and quality, I propose encouraging smaller PRs (~200–300 lines additions/deletions) using guidelines, feature slicing, and bot reminders. Thought we still may have exceptions for big PRs but this should be extremely rare.
Motivation
Reviewing large pull requests (500–1000+ lines) is challenging and time-consuming. These PRs often take longer to review and merge because:
Encouraging smaller, focused PRs (~200–300 lines) will improve review speed, reduce cognitive load on reviewers, and make it easier for contributors, especially external ones, to get their changes merged faster.
Benefits
Drawbacks
Recommendations for making smaller PRs
Split changes that can be merged independently
Avoid dependent PR chains
Write clear PR WHY section in PR
Enforcement
GitHub Action check for PR size
Add a required GitHub Action that checks the size of each pull request.
For PRs exceeding the threshold (> 500 additions), it will leave a warning comment:
It will be possible to bypass this check with a special label on PR (e.g., "large-pr"). However, when using this label, the PR author must provide a clear explanation in the PR description describing:
Prioritize smaller PRs in the review process
Beta Was this translation helpful? Give feedback.
All reactions