Based on conversions with @kevingranade, @KorGgenT, and @davidpwbrown on C:DDA's Discord, the canonical version number of C:DDA is the Build version string. This string can be found in the VERSION.txt of any recent Cataclysm distribution or as the output of ./cataclysm --version. It looks something like this:
0.E-7-gbc88ffd
This string corresponds to the output of git describe and includes the following information:
$RELEASE_TAG-$COMMITS_SINCE-g$GIT_SHA
Where:
RELEASE_TAG is a reference to the most recent stable release (e.g. 0.E)
COMMITS_SINCE is the number of commits included in the build since the last stable release (e.g. 7)
GIT_SHA is a reference to the individual git commit that a release was built from (e.g bc88ffd)
Releases are sorted using the following algorithm to determine if a particular release is newer or older than another based on it's version string:
RELEASE_TAG is sorted alphabetically numerically, with the last tag being the newest release. Example:
Based on conversions with @kevingranade, @KorGgenT, and @davidpwbrown on C:DDA's Discord, the canonical version number of C:DDA is the
Build version
string. This string can be found in theVERSION.txt
of any recent Cataclysm distribution or as the output of./cataclysm --version
. It looks something like this:This string corresponds to the output of
git describe
and includes the following information:Where:
0.E
)7
)bc88ffd
)Releases are sorted using the following algorithm to determine if a particular release is newer or older than another based on it's version string:
RELEASE_TAG
is sorted alphabetically numerically, with the last tag being the newest release. Example:COMMITS_SINCE
is sorted numerically, with the biggest value representing the newest release. Example:GIT_SHA
is ignored for purposes of determining if one release is older or newer than another.Using the sorting methodology outlined above, we would end up with something like this:
Note:
COMMITS_SINCE
is not guaranteed to appear in a version string, and is assumed to be0
if not presentGIT_SHA
is not guaranteed to appear, and should be ignored for purposes of version comparison regardless