Skip to content

Large pull requests ​

A big pull request is still reviewed, but two things change: it takes longer, and some files may go unread.

The file cap ​

A review reads at most 50 files — Max files per review, editable per repository.

Excluded files, and files GitHub gives no diff for, are removed before the cap applies and do not count against it. Of what remains, the first 50 are reviewed in the order GitHub lists the files; the rest are marked skipped in the review detail, with the reason max_files_exceeded.

On a pull request wide enough to hit the cap, excluding generated code and fixtures is what buys you coverage of the files you care about. Raising the cap makes the review slower.

It takes longer ​

Review time grows with the size of the diff. The review detail page shows how long a review took, and the dashboard shows the median across your completed reviews.

Some findings need two files ​

A problem that is only visible by reading two files together may be missed on a large pull request — the same thing that is true of a human reviewer working through a thousand-line diff. Smaller, focused pull requests get better reviews.

A finding that does turn out to reach across the change carries a High impact badge on the pull request, with a Why this matters section you can expand.

Write a description ​

The pull request's title and description are read as part of the review. On a large change, a description that explains the intent is the cheapest thing you can do to improve what comes back.

If part of the review fails ​

A review that stops partway posts no inline comments. Its findings stay readable in the dashboard as partial results, and the pull request gets a single Review could not be completed status comment linking back to them — see When a review fails.

Tips for big changes ​

  • Split refactors from behaviour changes into separate pull requests — it also keeps you under the file cap.
  • Exclude generated code, fixtures and snapshots; see Excluding files.
  • Push in smaller commits. Each push starts a fresh review of the whole diff, so a huge branch is re-reviewed in full every time.