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.