diff --git a/src/GitVersion.Core.Tests/VersionCalculation/SemanticVersionTests.cs b/src/GitVersion.Core.Tests/VersionCalculation/SemanticVersionTests.cs index cba8885aab..1637227ffd 100644 --- a/src/GitVersion.Core.Tests/VersionCalculation/SemanticVersionTests.cs +++ b/src/GitVersion.Core.Tests/VersionCalculation/SemanticVersionTests.cs @@ -34,6 +34,8 @@ public class SemanticVersionTests : TestBase [TestCase("v1.2.3", 1, 2, 3, null, null, null, null, null, null, "1.2.3", Config.DefaultTagPrefix)] [TestCase("V1.2.3", 1, 2, 3, null, null, null, null, null, null, "1.2.3", Config.DefaultTagPrefix)] [TestCase("version-1.2.3", 1, 2, 3, null, null, null, null, null, null, "1.2.3", "version-")] + [TestCase("1", 1, 0, 0, null, null, null, null, null, null, "1.0.0", null)] + [TestCase("1.1", 1, 1, 0, null, null, null, null, null, null, "1.1.0", null)] public void ValidateVersionParsing( string versionString, int major, int minor, int patch, string tag, int? tagNumber, int? numberOfBuilds, string branchName, string sha, string otherMetaData, string fullFormattedVersionString, string tagPrefixRegex) diff --git a/src/GitVersion.Core/VersionCalculation/SemanticVersioning/SemanticVersion.cs b/src/GitVersion.Core/VersionCalculation/SemanticVersioning/SemanticVersion.cs index 65494749ed..3975a634f8 100644 --- a/src/GitVersion.Core/VersionCalculation/SemanticVersioning/SemanticVersion.cs +++ b/src/GitVersion.Core/VersionCalculation/SemanticVersioning/SemanticVersion.cs @@ -8,7 +8,7 @@ public class SemanticVersion : IFormattable, IComparable private static SemanticVersion Empty = new SemanticVersion(); private static readonly Regex ParseSemVer = new Regex( - @"^(?(?\d+)(\.(?\d+))(\.(?\d+))?)(\.(?\d+))?(-(?[^\+]*))?(\+(?.*))?$", + @"^(?(?\d+)?(\.(?\d+))?(\.(?\d+))?)(\.(?\d+))?(-(?[^\+]*))?(\+(?.*))?$", RegexOptions.Compiled); public int Major;