Exemple #1
0
        private void UpdatePreReleaseTag(SemanticVersion semanticVersion, string branchNameOverride)
        {
            var tagToUse = context.Configuration.GetBranchSpecificTag(log, context.CurrentBranch.FriendlyName, branchNameOverride);

            int?number = null;

            var lastTag = repositoryMetadataProvider
                          .GetVersionTagsOnBranch(context.CurrentBranch, context.Configuration.GitTagPrefix)
                          .FirstOrDefault(v => v.PreReleaseTag.Name.IsEquivalentTo(tagToUse));

            if (lastTag != null &&
                MajorMinorPatchEqual(lastTag, semanticVersion) &&
                lastTag.PreReleaseTag.HasTag())
            {
                number = lastTag.PreReleaseTag.Number + 1;
            }

            number ??= 1;

            semanticVersion.PreReleaseTag = new SemanticVersionPreReleaseTag(tagToUse, number);
        }