From 495ba8a145a6158cff802147f7b25af5f35512a9 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Tue, 26 Nov 2019 16:51:13 +0200 Subject: [PATCH] Move comparison into SemanticVersion --- src/GitVersionCore/SemanticVersioning/SemanticVersion.cs | 7 ++++++- .../VersionCalculation/NextVersionCalculator.cs | 4 +--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/GitVersionCore/SemanticVersioning/SemanticVersion.cs b/src/GitVersionCore/SemanticVersioning/SemanticVersion.cs index 13c31be697..6597fff425 100644 --- a/src/GitVersionCore/SemanticVersioning/SemanticVersion.cs +++ b/src/GitVersionCore/SemanticVersioning/SemanticVersion.cs @@ -184,6 +184,11 @@ public static bool TryParse(string version, string tagPrefixRegex, out SemanticV } public int CompareTo(SemanticVersion value) + { + return CompareTo(value, true); + } + + public int CompareTo(SemanticVersion value, bool includePrerelease) { if (value == null) { @@ -213,7 +218,7 @@ public int CompareTo(SemanticVersion value) } return -1; } - if (PreReleaseTag != value.PreReleaseTag) + if (includePrerelease && PreReleaseTag != value.PreReleaseTag) { if (PreReleaseTag > value.PreReleaseTag) { diff --git a/src/GitVersionCore/VersionCalculation/NextVersionCalculator.cs b/src/GitVersionCore/VersionCalculation/NextVersionCalculator.cs index 2b1ac163d9..a57f206e1e 100644 --- a/src/GitVersionCore/VersionCalculation/NextVersionCalculator.cs +++ b/src/GitVersionCore/VersionCalculation/NextVersionCalculator.cs @@ -66,9 +66,7 @@ public SemanticVersion FindVersion(GitVersionContext context) if (taggedSemanticVersion != null) { // replace calculated version with tagged version only if tagged version greater or equal to calculated version - if (semver.Major > taggedSemanticVersion.Major || - (semver.Major == taggedSemanticVersion.Major && semver.Minor > taggedSemanticVersion.Minor) || - (semver.Major == taggedSemanticVersion.Major && semver.Minor == taggedSemanticVersion.Minor && semver.Patch > taggedSemanticVersion.Patch)) + if (semver.CompareTo(taggedSemanticVersion, false) > 0) { taggedSemanticVersion = null; }