A Github bot to keep a fork updated with any changes made to its upstream. Heavily inspired by Greenkeeper.
- Go to backstroke.us, and sign in with your Github account.
- Click
Create new link
- Add a source repo under the text
From
(the big, green box) - Add a destination repository under the text
To
, or chooseAll Forks
to sync to all forks of the source repo. - Click
Save
. If you push a change to the repo listed underFrom
, you'll get a pull request with any updates in the repo(s) underTo
!
Backstroke classic is no longer the recommended way to set up Backstroke, however, if you'd prefer to live with a few limitations, it's still available.
- Create a webhook in either a fork or a upstream repository. (
Settings
=>Webhooks & Services
=>Add Webhook
) - Add
http://backstroke.us
as the payload url. - Create the webhook, and push some code to the upstream repository to see Backstroke in action.
- You push code to Github.
- Backstroke will create a pull request with any unmerged upstream changes.
- You accept Backstroke's pull request, and have updated code. Merging your code back upstream later on is painless.
- You get a pull request from a contributor.
- Backstroke will create a pull request on their fork that lets them merge in your upstream changes.
- They accept Backstroke's pull request, and you merge in their code.
-
I don't see any pull requests on the upstream....: Pull requests are always proposed on forks. Take a look there instead.
-
I didn't sign up for this and now I'm getting pull requests. What's going on?: This is because the upstream added backstroke to their repository. Some project maintainers use backstroke as an easy way to keep contributor's local forks up-to-date with later changes, but if you'd rather tackle that unassisted, here's how to disable backstroke on a fork.
-
Why isn't Backstroke working?: Take a look at the webhook response logs. Most likely, you'll see an error. Otherwise, open an issue.
-
Is Backstroke really all that useful?: If you never merge upstream, then no, not really. Otherwise, if you hate resolving merge conflicts, then it's great.
-
Does Backstroke work outside of Github?: Not yet. If there's interest, I'd love to give it a try, though.
By Ryan Gaus