Skip to content

0.3.x branch debacle

Justin Gallardo edited this page Jan 7, 2015 · 2 revisions

In order to get to a place where the master branch is always deployable, we've moved the previous master branch to expr-rewrite, and moved the 0.3.x branch back to master.

Sadly this causes some odd issues with forks and existing pull requests that were opened against the 0.3.x branch. Because of these issues, and the fact that Github doesn't allow you to change the branch that a pull request was opened against they will need to be reopened against the new master branch.

Below are a few steps/tips to help you get your fork back in sync with upstream.

Be sure that you have an upstream remote in your fork:

$ git remote add upstream https://github.com/martynsmith/node-irc.git
$ git fetch

If you have changes that you'd like to keep in your fork's master branch, branch from master to a new branch in order to save them:

$ git checkout master
$ git branch my-existing-master

After you've synced your upstream remote, checkout the tip of upstream/master:

$ git checkout upstream/master

Now you need to delete the existing master branch.:

$ git branch -D master

And now branch from upstream/master to master:

$ git checkout -b master

You can now compare your master branch SHA with the SHA of upstream/master:

$ git rev-parse HEAD
<some SHA>
$ git ls-remote upstream HEAD
<hopefully the same some SHA>

If they match, then force push your new master branch to your fork:

$ git push -f origin master:master

And that should do it! From this point forward we'll want to open new pull requests against the master branch once again.

Clone this wiki locally