Xterm.js: Fix messed up branch state before v3 release

Created on 4 Jan 2018  路  6Comments  路  Source: xtermjs/xterm.js

Problem

Because we branched off v3 and later made that the default branch, some PRs sneaked into master when they shouldn't have. We also did a release off master and not v3 so they got further out of sync.

Solution

In order to release everything and get the branches in a good state again I suggest we do the following:

  1. [x] https://github.com/xtermjs/xterm.js/pull/1185 Merge master into v3, this will be a small easy to understand PR that's easy to sign off on and that we know is in a good state as it's based on v3.
  2. [x] https://github.com/xtermjs/xterm.js/pull/1186 Merge v3 into master, this diff will contain everything in the release so it can't really be reviewed
  3. [x] Mark master as the default branch
  4. [x] Update package.json version in master to 3.0.0
  5. [x] Release 3.0.0 from master (@parisk to sign commit)
  6. [x] Branch off release/3.0 from `master
  7. [x] Tag HEAD of release/3.0 as 3.0.0
  8. [x] Move all PRs to point at master branch
  9. [x] Publish release in Github

If we need to release 3.0.1+ then we can add the commits to master, cherry pick them to release/3.0 and release again. We can then continue this process for 3.1 with release/3.1 and so on to avoid these sorts of problems in the future; the master branch will always be the latest and we branch off stabilization branches for release.

typproposal

Most helpful comment

And it's out!

All 6 comments

Yep, sounds great.

My only counter proposal would be releasing 3.0.0 from master and then branch it out.

I think that major and minor releases should be made on the master branch and bugfix releases on the "stabilization" brances.

@parisk branch then release should be the same as release then branch as the commits should have the same hashes. One of the important thing around the branching is that all changes go on master and fixes are cherry picked over, only in exceptional circumstances should changes be made directly to the release branch (if master has diverged too much).

I am on board.

@parisk if you're free atm can you get on Slack so we can coordinate the release?

And it's out!

Congratulations on this major milestone! 馃 馃弳馃嵕馃帀

Was this page helpful?
0 / 5 - 0 ratings

Related issues

7PH picture 7PH  路  4Comments

tandatle picture tandatle  路  3Comments

parisk picture parisk  路  3Comments

fabiospampinato picture fabiospampinato  路  4Comments

LB-J picture LB-J  路  3Comments