spacedentist / spr

Submit pull requests for individual, amendable, rebaseable commits to GitHub
https://getcord.github.io/spr/
MIT License
376 stars 33 forks source link

Is there a way for others to check out my stacked diffs? #155

Open opqpop opened 1 year ago

opqpop commented 1 year ago

Teammates told me they can't check out my unapproved stacked diffs. Say I have stacked diffs: diff1 -> diff2 -> diff3 -> diff4, and none of them are approved yet. What's the best way someone can check out all these changes so they can play with HEAD pointing to diff4, and having all changes including diff1, diff2, diff3?

hansbogert commented 1 year ago

I only did simple stuff like following the manual, but wouldn't you just push everything up to diff4 to a branch? But if they're highly coupled commits, why have them in separate commits?

spacedentist commented 1 year ago

If 1, 2, 3, 4 are the PR numbers of your diffs, you can use spr patch 4 - this will create a local branch for you with two commits on it: the top one contains the changes in diff4, the one below contains all the changes in the base (i.e. diff1,2,3 combined).

There is no command that recreates the branch with four commits for you. spr doesn't really think of stacks, it handles every PR completely independent of all other PRs. It does however distinguish between PRs that are directly branched off your master branch (that would be your diff1), and PRs that are based on changes that are not in the master branch yet (that would be your diff2, diff3, diff4).

I'm not saying this is something that we be impossible to do, just that spr doesn't have that functionality.

opqpop commented 1 year ago

Gotcha! Thanks, spr patch 4 will work for us! Glad there was a way to do it :)

But if they're highly coupled commits, why have them in separate commits? Ah, this is the main reason I use spr, to make a lot of stacked diffs. Let me know if I'm misunderstanding something