shared/version/version.go
func (v *DottedVersion) Compare(other *DottedVersion) int {
	result := compareInts(v.Major, other.Major)
	if result != 0 {
		return result
	}
	result = compareInts(v.Minor, other.Minor)
	if result != 0 {
		return result
	}
	return compareInts(v.Patch, other.Patch)
}
func (v *DottedVersion) Compare(other *DottedVersion) int {
	result := compareInts(v.Major, other.Major)
	if result != 0 {
		return result
	}
	result = compareInts(v.Minor, other.Minor)
	if result != 0 {
		return result
	}
	return compareInts(v.Patch, other.Patch)
}
// Compare returns result of comparison between two versions