Discussion about this post

User's avatar
Bubble Tea's avatar

I'm not sure if I fully understood what is different or novel about stacking/chaining. I've only ever worked at various small startups, with regular Git/Github or other version control. But all of the following was always true:

- We submitted multiple small PRs for a feature/ticket instead of one big PR

- We started the next PR without waiting for reviews on the previous one

- We rebased multiple times a day

It's natural to end up working this way as you streamline your workflow, and most tooling supports this without hiccups. For example, GitHub lets you set the base of your new PR to your previous PR so you can see changes in separation, and it will seamlessly update when the base PR gets merged to main.

Aren't stacking and chaining just custom terms for a common industry practice, used for custom tooling in Big Tech?

Kamil Tusznio's avatar

Thanks for putting this together, Gergely! I've coached many engineers on stacking over the years. It still astounds me that breaking up PRs into reviewable parts isn't something directly built into Github. In any team with robust code review practices, pretty much every junior or even mid level engineer goes through the gauntlet of posting a massive PR only to be asked by reviewers to break it up. Even senior engineers get caught out by this.

Solving this problem at scale would be hugely valuable.

28 more comments...

No posts

Ready for more?