Rename 'master' branch to 'old-releases' and don't use it anymore
Currently, we have the following branches:
-
develop, where we do all our main work. This is our main branch. -
master, to which we mergedevelopwhen we want to do a release, and from which we then create a tag to perform the release on. - Other branches, like feature branches, where we do work that may or may not end up in
develop(via merge requests).
I don't see any point in having a master branch. We merge develop into it, then create a tag on master, and then perform the release from the tag. We could just bypass master entirely, and just create the tag on develop instead.
This would mean that per release we have one less merge request to create and build to perform, so it reduces both the number of steps and some unnecessary use of the build server. The latter is getting quite some attention lately (see e.g. here/here, here, and here).
I think we can safely remove master, as all the releases were created from tags, and the tags would remain in working order even after removal of the master branch. We wouldn't lose any relevant history that way. If we ever want to do a maintenance release on and old version, we can just as easily branch of from a tag as we can from master.