[NorESM-users] Need to clarify roles of branches in NorESM repository

Tomas Torsvik Tomas.Torsvik at uib.no
Thu Oct 1 18:55:19 CEST 2020


Dear all,

I see that there have been several commits to the noresm2 branch in the 
NorESM repository after the release of noresm2.0.2 on July 19, and even 
after the merging of the noresm2 branch back to master on August 19. 
This is contrary to what I thought was the purpose of the release branch 
(noresm2), so I think we (the development team/user community) need to 
agree on what actually is the purpose and intended structure for the 
branches in the NorESM repository.

My thinking is that master should be the main development branch, where 
feature branches should branch out from and merge into. When we do a 
release we make a dedicated release branch (e.g. noresm2 or noresm2.1), 
and once the release has been made (tagged) the release branch should 
not change except in case of necessary bug fixes. This is the structure 
we aim for in the BLOM repository. This means that eventually we end up 
with several release branches that will never be merged with master, but 
I think this is difficult to avoid if we want to support long-term use 
of the tagged releases.

There are of course other options for how to structure the repository, 
but in any case there should be a clear separation between branches for 
development and branches that are for maintaining the code at a certain 
stage. I think this structure needs to be clarified once and for all, so 
we don't end up with code contributions being introduced in several 
branches.

It would maybe be helpful to have a CONTRIBUTING.md file to specify the 
repository structure, and to make use of the branch protection rules 
that can be applied in the gitHub system. Perhaps we could have a 
discussion about this for our next NorESM telecom meeting?

Best regards,
Tomas




More information about the Users mailing list