The peer code review process is an essential part of software development, but its effectiveness drops exponentially with the increase in the size of the change.
Stacked pull requests make smaller, iterative changes and are stacked on top of each other instead of bundling large monolith changes in a single pull request.
Benefits of stacked PRs include early review feedback, faster CI feedback cycle, knowledge sharing, and freedom from getting blocked while waiting for a review.
Stacked PR workflow is not supported natively by either Git or GitHub, but tools have been developed across the open-source community to enable engineers to incorporate these stacking techniques.
To resolve conflicts, a merge commit strategy while stacking PRs is simpler but most teams discourage it to keep the git-history clean, leaving squash or rebase merge options.
Aviator is a CLI tool that augments developer’s experience with enhanced PR management by creating, tracking, updating, and merging stacked PRs.
Aviator also supports an advanced MergeQueue to manage auto-merging thousands of changes at scale and seamlessly integrates with CLI and stacked PRs.
The increase in code review efficiency, faster feedback loops, and enhanced learning opportunities outweigh the overhead of breaking down changes into smaller parts.
Aviator empowers developers to build faster and better by providing developer productivity tools.
Stacked PRs will become increasingly useful as we continue embracing the shift-left principles.