ESCOMP / ESCOMP/CTSM

Move to split main/development branch setup

Open
#3,530 0 comments 1 reaction 0 assignees View on GitHub
b4b
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.