I prefer following structuring of my tags repository directory:
/tags
/builds
/PA
/A
/B
/releases
/AR
/BR
/RC
/ST
PA
means pre-alpha
A
means alpha
B
means beta
AR
means alpha-release
BR
means beta-release
RC
means release candidate
ST
means stable
There are differences between builds and releases.
- Tags under builds folder have version number corresponding to a pattern
N.x.K
, where N
and K
are integers. Examples: 1.x.0
, 5.x.1
, 10.x.33
- Tags under releases folder have version number corresponding to a pattern
N.M.K
, where N
, M
and K
are integers. Examples: 1.0.0
, 5.3.1
, 10.22.33
.
Example of resulting structure of tags
repository directory at some specific moment of time during repository structure evolution would be the following:
/tags
/builds
/PA
/1.x.0
/1.x.1
/A
/1.x.2
/B
/1.x.3
/1.x.4
/releases
/AR
/1.0.0
/1.1.0
/BR
/1.0.1
/1.0.2
/1.1.1
/RC
/1.0.3
/1.1.2
/ST
/1.0.4
/1.1.3
Actually, this tagging principle is just a part of approach to repository structuring. You might find useful the diagram illustrating tagging principle I have described. Also it contains more complex overview of configuration management processes including branching and version numbering.