Remix.run Logo
topaztee 9 hours ago

how is this different than viewing a PR one commit at a time?

nickcw 8 hours ago | parent | next [-]

I think it is conceptually the same but multiple PRs gives you the tools to manage the commits properly which GitHub is missing. You can't do the equivalent of `git rebase -i` in the GitHub UI to squash a fixup into a previous commit. Having each change in it's own PR enables that workflow using the existing GitHub UI.

simplyluke 9 hours ago | parent | prev | next [-]

Split into individual PRs, which works better for how a lot of companies do code review.

masklinn 8 hours ago | parent | prev | next [-]

Stacked PRs track changes through updates and can be integrated progressively as they get validated.

They also allow reviewing commits individually, which is very frustrating to do without dedicated support (unless you devolve back to mailing list patch stacks).

Macha 9 hours ago | parent | prev | next [-]

Each commit can be merged independently as they're reviewed.

CharlieDigital 8 hours ago | parent | next [-]

I don't think this is it. The main driver is that several operations in GH are scoped around a PR, not a commit. So the reason you need stacked PRs is that the layer of tooling above `git` is designed to work on logical groups of commits called a PR.

4b11b4 8 hours ago | parent [-]

Right, the argument against: "how is this any different than splitting into single commits?" is simply: In general you want just one level above a commit which is the PR

Hamuko 8 hours ago | parent | prev [-]

One of the advertised features of this is being able to merge all the PRs at once. Which would also be the case for multiple commits in a single PR.

Arainach 8 hours ago | parent | next [-]

That's possible but not mandatory. In the current UX you can only approve/submit all or none.

8 hours ago | parent | prev [-]
[deleted]
stephbook 8 hours ago | parent | prev | next [-]

Commits are immutable and you never know which feedback goes stale when you add another commit.

I'm not a huge fan, since stacked PRs mean the underlying issues don't get addressed (reviews clearly taking too long, too much content in there), but it seems they want something that works for their customers, right now, as they work in real life.

normie3000 5 hours ago | parent [-]

> Commits are immutable

I guess this is why you're getting downvoted. Commits can be edited.

steveklabnik 5 hours ago | parent [-]

When you edit a commit, it creates a new commit. They are immutable. You can still find the old commit via the reflog, until it gets eventually gc'd.

If I had to guess a reason they were downvoted (and I didn't downvote, to be clear), it's probably because people see stacked diffs as specifically solving "reviews clearly taking too long, too much content in there", and so it feels contradictory. Then again, as I said, I didn't downvote!

dboreham 7 hours ago | parent | prev | next [-]

It would be the same if commits were meaningful things. But typically they're not. The PR is the meaningful thing. A commit is something like "fix the lint error".

IshKebab 8 hours ago | parent | prev [-]

CI runs on each PR, you get a whole PR message and discussion/review interface for each PR. Each PR can itself consist of multiple commits. You can have stacked PRs from different authors (though from another comment it sounds like they may not have implemented that).

It's a big improvement (assuming they've done it right).