void UpdatePreReleaseTag(GitVersionContext context, SemanticVersion semanticVersion, string branchNameOverride)
{
var tagToUse = GetBranchSpecificTag(context.Configuration, context.CurrentBranch.FriendlyName, branchNameOverride);
int? number = null;
var lastTag = context.RepositoryMetadataProvider
.GetVersionTagsOnBranch(context.CurrentBranch, context.Configuration.GitTagPrefix)
.FirstOrDefault(v => v.PreReleaseTag.Name == tagToUse);
if (lastTag != null &&
MajorMinorPatchEqual(lastTag, semanticVersion) &&
lastTag.PreReleaseTag.HasTag())
{
number = lastTag.PreReleaseTag.Number + 1;
}
if (number == null)
{
number = 1;
}
semanticVersion.PreReleaseTag = new SemanticVersionPreReleaseTag(tagToUse, number);
}