Skip to content

Repository workflow

Robert Jacob edited this page Sep 27, 2016 · 18 revisions

CIME uses a simplified version of the branching model described in gitworkflows(7), minus the pu (proposed updates), next and single maint branches described there.

All new features should start as a branch from master. Make sure to start from the most recent version of master that passed the testing. Each feature is developed in a separate feature branch, allowing the individual features to be merged and improved independently.

When a feature is ready for testing, developers should run tests as described in Testing. Once it is considered stable, make a "Pull Request" on github to request merging the topic branch to master. Someone besides the developer must approve, an optionally perform, the merge. The new master will be tested in the nightly testing. In this model, master should be fairly stable.

Bug fixes should start from the earliest commit that introduced the bug: git branch username/component/bug-fix commit-with-bug.

If the bug existed before a release, start the branch as above and merge the fix to both master and, after nightly testing has passed, to the associated maint branch. At the latest, the bug-fix-branch should start from the maint release point.

To fix a bug or add a feature only in a release, start the branch from the relevant maint branch: git branch username/component/todo maint-cimeX.Y. Merge it to that maintenance branch.

Clone this wiki locally