Move to split main/development branch setup
- Dominant language
- Fortran
- Stars
- 352
- Forks
- 361
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 7
Description
In the CTSM SE meeting today, we [decided](https://docs.google.com/document/d/1Hjry2ew_C6SXoRG7ChISbm-V1J5exwcyQJzxPz1prK8/edit?tab=t.0#heading=h.dj42o0q7vgm) to change up our branch strategy such that the default branch will _only_ have commits that correspond to releases. This brings us closer to the popular [gitflow branching model](https://nvie.com/posts/a-successful-git-branching-model/) common in industry. We realize that this will require an extra step for users to use the latest development version of the model, because by default they will get the latest release tag, but we consider that a good thing—most people should be using a version of the model with a DOI.
The plan is that, with the 5.4 release, we will:
- Rename the `master` branch to `develop` (so we shouldn't need to re-target open PRs)
- Create a new `main` branch and set it as the default branch (should allow us to close #1048 and #1127)
Every commit on `main` will be a [release](https://github.com/ESCOMP/CTSM/releases) and will get a tag like `release-clm5.4`.
There are a number of things we have to do, which are sub-issues here.
Contributor guide
Assessment
This issue has not been assessed yet.