3 ms·
I know people who express similar feelings. Usually it is shorthand for "I would prefer stacked diffs" or similar. Two blog posts I've seen people point at: *
by steveklabnik 3y ago
I know people who express similar feelings. Usually it is shorthand for "I would prefer stacked diffs" or similar.
Two blog posts I've seen people point at:
* https://mitchellh.com/writing/github-changesets https://mitchellh.com/writing/github-changesets
* https://jg.gg/2018/09/29/stacked-diffs-versus-pull-requests/ https://jg.gg/2018/09/29/stacked-diffs-versus-pull-requests/
- anyonecancode 3y agoFrom the second article, a minor point but possibly helpful to other here, he contrasts doing everything in the terminal with stacked commits vs going to the Github UI. If people aren't aware, Github offers a cli tool[1]. I've been using it for a few months now and am finding it does make me more productive -- it's nice to be able to open up a PR directly from my terminal. I do still use the GH UI for a lot of things, but I'll often at least start in the terminal, and it also makes the transition from terminal to browser easy as many commands support the `--web` flag open up the right page for you (eg `gh repo view --web`). [1] https://cli.github.com/ https://cli.github.com/
- lima 3y agoThe CLI doesn't help with stacked commits, though. There's tools like spr[1] but none of them are anywhere as pleasant to use as Gerrit (or Phabricator, I guess). [1]: https://github.com/ejoffe/spr https://github.com/ejoffe/spr
- anyonecancode 3y agoIt doesn't -- hence my noting the GH cli as a minor point. It's a tool I've personally found helped increase my productivity, so just wanted to share as others may find it useful too.
- shepherdjerred 3y agoI've found that Graphite [0] has solved this issue for me. It's makes the experience of shipping stacked diffs about the same as the CR tool within AWS [0]: https://graphite.dev/ https://graphite.dev/
- steveklabnik 3y agoThanks for this. I admittedly still don't really grok it, but maybe if I play around with the tooling, something will click.
- shepherdjerred 3y agoI think that this page gives a decent overview of what the tool aims to accomplish: https://graphite.dev/docs/how-stacking-works https://graphite.dev/docs/how-stacking-works This page covers some of the more advanced functionality: https://graphite.dev/docs/manage-stacks https://graphite.dev/docs/manage-stacks Either way, I hope you like it! I've tried many other tools that aim to implement stacked diffs for GitHub PRs, and Graphite is _by far_ the best. They have their own Web UI but I skip that completely and just use their CLI + GH's UI.
- steveklabnik 3y agoI watched their product overview video last night, but like, I don't grok what the difference between rebasing a branch and rebasing a stack is, and they said something like "if there are conflicts, this is when you'd fix them." but I thought the point was reducing conflicts. It sounds to me like short lived feature branches with a lot of extra terminology. I really think I just need to actually try the tooling and then examine the git repo. I am very bottom-up brained when it comes to git, and so I need to visualize what commands actually do to the DAG to really grok what's going on.
- deleted 3y ago[deleted]
- globular-toast 3y agoWhat are these people talking about? What's the difference between "stacked diffs" and just adding commits to a branch? Who cares if the branch is called "master" or not? You could also force push updated commits (e.g. after fixup and rebase etc) and tools like Gitlab and GitHub can show you the diff between versions (or "changesets", as they call them). Gitlab at least makes it pretty clear when a change has been made and the order things were done in. Pretty sure GitHub does too.
- steveklabnik 3y agoAs I alluded to, it’s their opinion, not mine. I don’t fully understand the differences myself. But they’re very passionate about this.