Naming Convention[major].[minor].[incremental]-HF[hotfix]
Starting Point: 1.0.0
major.minor.incremental[-HFx]
The "-HF[hotfix]HFx" tag is optional, depending on whether or not a hotfix was added to the release.
e.g. 1.0.12, 1.0.12-HF2, 1.1.0, 1.1.0-HF1
...
Versioning
- If we pull from Master(Release(Master) to Dev Develop (Snapshot), we increment either [major] or [minor]minor and/or major.If we pull from Feature Set (Nightly) to Features, we increment [incremental]
- Maven/Jenkins adds the /artifactory requires branches be tagged either as "-SNAPSHOT" tag to snapshot builds.Adds the or "-RELEASE" tag to new releases.
- If we pull from Dev (Snapshot) to Feature Set (Nightly), we increment [incremental].
- .
- Master is always RELEASE and Develop is always SNAPSHOT.
- When code is pulled from Develop (Snapshot) to a Sprint branch, the incremental is incremented.
- Development takes place in feature sets or Sprint branches.
- Locally a developer would create a feature branch (from the sprint branch) and call it something meaningful and not necessarily versioned (e.g. websocket). If more than one developer were working on the same feature then they would create a separate branch in git so they could trade code.
- If a feature isn't finished by the end of the sprint (e.g. Feature 3 in the diagram below), it won't be committed until the next sprint.
- If we pull from Release(Master) Master to Hotfix, we add the "-HF" tag and increment [hotfix]increment HFx.
- Adding a hotfix does not change the name/version of the release.
e.g. If we have version 1.1.2 released as 1.1.2-RELEASE and we add a hotfix, the version will become 1.1.2-HF1, but the release will still be 1.1.2-RELEASE.
- Adding a hotfix does not change the name/version of the release.
...
- The hotfix will be pushed into Master branch and then pulled into Develop and the current Sprint branch if it exists.
- Only if a hotfix impacts what's currently being developed in any given Feature branch should it be pulled for development - but it will be pulled whenever the Feature code is pushed back to the Sprint branch.