Re:Stacked Diffs (and why you should know about them)
by fosterfriends on Tuesday October 17, 2023 @02:17PM
(#37919260)
Per https://stacking.dev/, tools like sapling, spr, graphite.dev, ghstack all exist to handle the pain points you're mentioning. Agreed it's hard with vanilla git and github, but with extra tooling you can get it to work well.
Also, totally agree on the "smaller the better" - https://graphite.dev/blog/the-ideal-pr-is-50-lines-long
Re:Stacked Diffs (and why you should know about them)
by hinkley on Tuesday October 17, 2023 @03:59PM
(#37920727)
I want a VCS with better merge support over time.
We have frameworks and project generators that could be repos you fork. The main advantage being more help with upgrading to versions with breaking changes (generators are terrible at this, and I end up faking this myself to see the diffs).
Gitlab allows you to review individual versions of a merge request (GitHub probably does too, I haven't used it in years). So the review stages here would work, although this workflow falls apart if the author ever rebases or merges master.
Unless I'm missing something, you would need to create pull requests into PR branches and then change their targets as each one gets merged, or target them all at master but notify reviewers to please ignore the dependent changes and only review this stack.
Ultimately this feels like a hack to work around bad processes and bad CI/CD. I encourage developers to work in the smallest pull requests possible and focus on getting each work item merged, rather than hopping around from work item to work item. Very small PRs can be reviewed quickly. This workflow depends on a good CI pipeline, feature flagging and excellent communication in the team. I'm absolutely in favour of breaking features into multiple PR's. The smaller the better - smaller than you think.
0 https://substackcdn.com/image/fetch/w_728,c_limit,f_webp,q_a...