Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Major version zero (v0.Y) is for initial development. Anything may change at any time.

Development

...

 (aka Topic or Feature) Branch Names

What: A Development or "Topic" or "Feature" branch is made for any code changes needed for ACME.  This can be new development, bug fixes, merges from CESM, or maintenance updates.

...

douglasjacobsen/clm/4.5.72

Archival Tag Names on Feature branches

Who:  Users and teams can tag their development branches in certain cases.

What: Tags can be used to archive versions of the code. This is the case where 

  1. exploratory runs were made (for climate or performance) and that commit was not already tagged on a permanent branch (see below).
  2. where speculative code development was performed, not merged into master, but needs to be retained

(See /wiki/spaces/SE/pages/4718815 for discussion that articulated this use case.

Naming:

...

Note that once a commit has been tagged, it will be preserved even if the branch it's on gets deleted. We recommend that unused branches be deleted and we can rely on the archive tag to keep needed commits reachable.  Component teams may want to adopt a consistent versioning system within their tag namespace, such as

  • archive/cam/5.3.1
  • archive/cam/5.3.2
  • archive/cam/5.3.3

Permanent Branch Names: master, next, maint-x.y

...

The recommended method for users to mark specific points on the git master branch is for them to create a topic branch or fork.   

Tag Names on feature branches:  Archive Tags

Who:  Users and teams can tag their development branches in certain cases.

What: Tags can be used to archive versions of the code. This is the case where 

  1. exploratory runs were made (for climate or performance) and that commit was not already tagged on a permanent branch (see below).
  2. where speculative code development was performed, not merged into master, but needs to be retained

(See /wiki/spaces/SE/pages/4718815 for discussion that articulated this use case.

Naming:

archive/<User or Group Name>/<description>

Note that once a commit has been tagged, it will be preserved even if the branch it's on gets deleted. We recommend that unused branches be deleted and we can rely on the archive tag to keep needed commits reachable.  Component teams may want to adopt a consistent versioning system within their tag namespace, such as

  • archive/cam/5.3.1
  • archive/cam/5.3.2
  • archive/cam/5.3.3

Tag name examples 

For current and upcoming tags see ACME Existing and Planned Tags and Branches

 

The figure below illustrates the relationship between tag names and code development history.

...