Proposed simplification of the branching model #5463
Replies: 2 comments 11 replies
-
Comments:
All in all, I agree, apart from the discussion on the name: I vote for |
Beta Was this translation helpful? Give feedback.
-
Ok, seems that the majority votes in favor of |
Beta Was this translation helpful? Give feedback.
-
In the early stages of this repository, the Git flow model was adopted where
master
would reflect the latest stable release and thedevelop
branch would be used to merge in day-to-day developments. Actual releases are tagged on themaster
branch and so when a new release is to be made, there would be a merge ofdevelop
into master and then after the release commit,master
would be merged back intodevelop
.The Git flow is designed for projects that often maintain multiple versions of a project at the same time and so is overkill for simple projects. AiiDA falls a bit in between. We propose to drop the
develop
branch and simply keepmaster
as the master branch of development. We have to be a bit careful then, because as soon as we merge breaking changes intomaster
that would become the next major version, at that point we have to essentially create asupport/
branch for the current major version and continue development of that version there. This will still require the merging of fixes that go on there ontomaster
so it is not that the new approach will solve all complexity.Proposed changes:
develop
inmaster
develop
tomaster
develop
Proposed new branch strategy:
master
master
asupport/
branch for the current version needs to be created and PRs for that major version are merged into thesupport/
branch instead.master
so any important fixes/features made onto a support branch will have to be cherry-picked ontomaster
if they are also relevant for the next major version.support/
branch, until the next major version is released off ofmaster
.As you can see, as long as we want to keep more than one major version at a time, there will still be intricacies with making sure features/fixes get on the correct branches. PRs will have to actively decide in what branch to merge. Still, overall it should slightly simplify the release procedure in that it no longer requires merging back and forth between
develop
andmaster
.If you have any problems with the proposed strategy, please put them below in a comment.
Beta Was this translation helpful? Give feedback.
All reactions