Background
ACME keeps nearly all of its code in a single repository.
To help track development, branch and tag names in the ACME source must follow conventions given here.
For more information, see /wiki/spaces/SE/pages/3244039 discussion.
ACME Version Names
ACME will generally follow Semantic Versions http://semver.org.
...
Major version zero (0.Y.Z) is for initial development. Anything may change at any time.
Development or Topic Branch Names
What: A Development or "Topic" branch is made for any code changes needed for ACME. This can be new development, but fixes, merges from CESM, or maintenance updates.
...
- Use lower-case for everything.
- Use hyphens instead of underscores.
- one name for the github username.
- This is the person in charge of the branch and not necessarily the only person working on it.
- The ACME SE team needs one person to act as point-of-contact to answer questions about the branch and take requests for merging.
- Task team leads can and should impose additional conventions for <source code area or component> and <feature-description>.
Examples
maltrud/machinefiles/mustang
...
douglasjacobsen/clm/4.5.72
Permanent Branch Names
What: The ACME source code will have permanent branches used for development and maintenance of the code.
...
maint-x.y: A branch started when a release is made and used to provide updates and bug fixes for that release. A "release branch".
Examples:
maint-0.0 - contains updates and bug fixes to v0.0
...
Developers should avoid using "maint" in their topic branch names.
Tag Names
What: ACME will not tag every single merge into the ACME master. ACME will use tags only to mark major and minor releases and bugfix releases.
Who: Only integrators can create tags. Users should never tag their development branches. The recommended method for users to mark specific points on the git master branch is for them to create a topic branch or fork.
Current tags
(tags in red have not yet been created)Updated version of v0.0 used by ACME v0 tuning runs and initial coupled simulations
ACME master branchTag Names | |
---|---|
TAG | Description |
v0.0 | Equivalent to cesm1_2_rel06. Common ancestor to all of ACME |
v0.0.1 | Updated version of v0.0 used by ACME v0 tuning runs and initial coupled simulations |
v0.0.2 | Recent commits with updates for running on NERSC, Titan and Miraupdates needed to run ACME v0 after the 2014 Titan system upgrade |
v0.1 | OVERTHEFENCE. This tag will be created when we have completed the v0.1 work described in the proposal |
... | |
v0.5 | NEWICE New MPAS sea ice or some other new feature. |
... | |
v1.0 | FINAL |