logoalt Hacker News

F-W-Myesterday at 9:32 AM1 replyview on HN

If you need to support multiple versions at the same time, you need to extend TBD in some way.

We just cherry-picked stuff back to release branches, if we needed a fix.


Replies

Zardoz84yesterday at 10:06 AM

we have a "release" branch and a "develop" branch. The release is trunked on the last released version and (in theory) only gets fixes. If we need to fix a more older version, we create a temporary branch on that version to fix it, and we cherry pick the fixes (or merge to) to release branch and then to develop branch.

The triple mortal loop, comes that we have two versions of the product. One with the old no responsive frontend and other with a modern responsive frontend. And we need to release and develop the two versions for sometime, before the direction decides to kill the old no responsive version. So we end with 4 branches: release, release_rwd, develop and develop_rwd. If we fix something in release, we need to do a diamond merge : release to release_rwd, release to develop, release_rwd to develop_rwd and develop to develop_rwd