pub fn compare_versions(v1: &str, v2: &str) -> OrderingExpand description
Compares two Go versions using semantic versioning rules.
§Pseudo-version Handling
Pseudo-versions (e.g., v0.0.0-20191109021931-daa7c04131f5) are compared
by their base version. For example, v1.2.4-0.20191109021931-xxx is treated
as being based on v1.2.3.
§Incompatible Suffix
The +incompatible suffix is stripped before comparison.
§Returns
Ordering::Lessif v1 < v2Ordering::Equalif v1 == v2Ordering::Greaterif v1 > v2
§Examples
use deps_go::compare_versions;
use std::cmp::Ordering;
assert_eq!(compare_versions("v1.0.0", "v2.0.0"), Ordering::Less);
assert_eq!(compare_versions("v2.0.0+incompatible", "v2.0.0"), Ordering::Equal);