🥞 Chrome extension for managing stacked pull requests
MIT License
Stacker adds features to Github's UI which makes managing and reviewing pull requests easier.
Features:
Reviewing and even creating pull requests on Github can sometimes be very frustrating. Especially when you're reviewing a PR so large that it becomes difficult to follow what is happening. A solution for this is to start thinking of pull requests as smaller increments than, for example a feature. Don't get me wrong, they should still be logical increments and not just some random blobs of commits, but the idea remains the same. They should be broken up into smaller pieces. Stacker is a Chrome extension that makes your life that tiny bit easier. It makes minor additions to Github's UI that help you visualize the pull request dependency structure.
If you are not familiar with the concept of stacked pull requests, jump right into "So what are stacked pull requests?" section.
As you start splitting your pull requests into smaller chunks, you come to notice that one PR's code is actually dependent on anothers, and you continue to work on top of the previous PR you made. This is completely fine, but the question now is whether you want to proceed with the Upstream based pull request and keep your second PR's base as upstream (master/develop, usually the selected by default) or set it to be the branch your previous PR uses (this is what I shall call a Parent based pull request).
is easily reviewable once the reviewer understands changes proposed in
The first PR (parent) can only move forward after all child PRs are reviewed and ready to be merged.
can accidentally be merged into a stale branch
If gets merged first, failing to update 's base before merging will lead it to being merged to a stale branch.
✨ This is when Stacker helps. It shows you a warning on the parent PR. For this initial release I've decided to just show a warning. Would disabling the merge button altogether be more useful? Create an issue if you have an opinion about this :).
Well, ok, it's quite bothersome to actually figure out the PR dependency tree
Parent PRs can now be merged even when the children aren't ready
includes changes from both PRs making it more difficult to review.
There's no easy way of seeing that is a sequel for
can get merged accidentally if is merged first
This project was bootstrapped with Create React App.
Thanks for reading 🙂