| ▲ | tcoff91 8 hours ago |
| It's basically trying to bring the stacked diff workflow pioneered by Phabricator to GitHub. The idea is that it allows you to better handle working on top of stuff that's not merged yet, and makes it easier for reviewers to review pieces of a larger stack of work independently. It's really useful in larger corporate environments. I've used stacked PRs when doing things like upgrading react-native in a monorepo. It required a massive amount of changes, and would be really hard to review as a single pull request. It has to be landed all at once, it's all or nothing. But being able to review it as smaller independent PRs is helpful. Stacking PRs is also useful even when you don't need to merge the entire stack at once. |
|
| ▲ | js2 8 hours ago | parent | next [-] |
| > stacked diff workflow pioneered by Phabricator Ahem, pioneered by gerrit. But actually, I'm almost certain even that wasn't original art. I think gerrit just brought it to git. https://www.gerritcodereview.com/about.html |
| |
| ▲ | sunshowers 8 hours ago | parent | next [-] | | To my knowledge, stacked diffs were first done in the Linux kernel as stacks of patches sent over email. From there they spread to Google and Facebook. (Source: I worked on Facebook's source control team from 2012-2018 and did a lot of work to enable stacked diffs there.) | | |
| ▲ | js2 8 hours ago | parent | next [-] | | Right, I was thinking from a web-based UI. The "pull request" term is from git (AFAIK), but git itself was built to accommodate the earlier concept of mailing patches around. (Source: I've been using version control since RCS/SCCS days and contributed here and there to git in its infancy. Also an early user/contributor to Gerrit.) | |
| ▲ | hokumguru 4 hours ago | parent | prev | next [-] | | Congrats and thank you. You helped build one of the best devex experiences I've ever had the pleasure of working with :) | |
| ▲ | p-e-w 5 hours ago | parent | prev [-] | | At some point, a derivative idea becomes so different from the original one that it’s a novel idea in essence. Just like SMS is ultimately a derivative of cuneiform tablets, and yet it isn’t in any meaningful sense. | | |
| ▲ | sunshowers 5 hours ago | parent | next [-] | | I don't think mailing stacks of patches is that different? As someone who built this stuff it was pretty obvious to me that web-based patch stack management was a relatively small evolution over mailing lists. Tools like patchwork bridged the gap initially, and we were quite familiar with them. | |
| ▲ | monster_truck 5 hours ago | parent | prev [-] | | Imagine gettting a cuneiform tablet by courier telling you that you have unpaid parking tickets in a state you've never driven in |
|
| |
| ▲ | pabs3 an hour ago | parent | prev [-] | | Gerrit was forked from Rietveld. Not sure if Rietveld or Gerrit are better though. https://github.com/rietveld-codereview/rietveld
https://en.wikipedia.org/wiki/Rietveld_(software)
https://codereview.appspot.com/ | | |
|
|
| ▲ | jrochkind1 8 hours ago | parent | prev | next [-] |
| I'm not in a large corporate environment, but that also means we're not always a well oiled machine, and sometimes i am writing faster than the reviewer can review for a period of time -- and i really need the stacking then too. |
|
| ▲ | eptcyka 8 hours ago | parent | prev [-] |
| What if main/master moves in between reviews? |
| |
| ▲ | adregan 5 hours ago | parent | next [-] | | You head to the farthest branch in the chain, fetch the latest main, and run `git rebase --update-refs main` (I prefer interactive mode myself) and then force push all of the branches from start to the end. 1: https://git-scm.com/docs/git-rebase#Documentation/git-rebase... | |
| ▲ | jrochkind1 8 hours ago | parent | prev | next [-] | | Before this feature when you were doing it manually, it was a huge problem. One of the points of this feature, is it automates rebasing the whole stack. | |
| ▲ | mh2266 5 hours ago | parent | prev | next [-] | | you just rebase it? what's the big deal? I don't use Github but I do work at one of the companies that popularized this workflows and it is extremely not a big deal. Pull, rebase, resolve conflicts if necessary, resubmit. | |
| ▲ | tcoff91 8 hours ago | parent | prev [-] | | Rebase the stack onto main. |
|