github branch, merge process - ESCOMP/mizuRoute GitHub Wiki

Note on branch

main branch

pull request from other branches when tagged as version. currently main branch support only serial version of the code.

develop branch

Working version branched off from main branch. This branch is usually merged into main when it is released as version.

cesm-coupling branch

MPI parallell version roughly follow the same capability as main branch. Now act as main branch for parallel version. Once compilation without MPI library (serial code compilation) function, this will replace main branch.

Note on pull-request

Merging branches in ESCOMP require pull-request. No direct merge by git push is allowed (it is blocked)

When develop branch is ready to be tagged, pull-request ESCOMP/develop to ESCOMP/main at remote git repository, add adequate notes (see example of previous pull-request). The title of pull-request is version name. Then perform merge (no squash, no rebase, so include merge commit).

At local git repository (in terminal), fetch ESCOM remote (git fetch <remote_name>, and git checkout main, then here git rebase <remote_name>/main. Then perform annotated tag - git tag -a <version> -m "version <version>". then push the tag to personal remote repository and ESCOM repository (git push <remote_name> <tag>). at this point, develop branch may be removed from ESCOMP and personal repository, and local repository (git branch -d develop).

For subsequent development, make new branch off main branch (e.g., git checkout -b develop)

⚠️ **GitHub.com Fallback** ⚠️