Konubinix' opinionated web of thoughts

Semantic Versioning and Git Describe


In semantic versioning 2.0.0, it is said that

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.


Hence the additional labels are meant to document the release to be, like 1.0.0-alpha is about the version that will become 1.0.0 in the future.

git describe cannot guess what version it will become, hence it cannot write 1.0.0-alpha, it can use the tags already present, like 0.1.0+136.

Those two meanings contradict each other. git describe format is interpreted as release to be in semantic versioning.