Constructs a new Version from its string representation.
Compares two versions/branches for precedence.
Returns the string representation of the version/branch.
Tests if this represents a branch instead of a version.
Tests if this represents the master branch "~master".
Tests if this represents a pre-release version.
Tests if this represents a hash instead of a version.
Tests if this represents the special unknown version constant.
Constructs a new Version from its string representation.
Represents a version in semantic version format, or a branch identifier.
This can either have the form "~master", where "master" is a branch name, or the form "major.update.bugfix-prerelease+buildmetadata" (see the Semantic Versioning Specification v2.0.0 at http://semver.org/).