Skip to content

Commit 9f6bb39

Browse files
committed
Added fix for branches with slashes in the branch-name.
1 parent 65cff08 commit 9f6bb39

File tree

2 files changed

+32
-28
lines changed

2 files changed

+32
-28
lines changed

src/GitVersionCore.Tests/IntegrationTests/OtherBranchScenarios.cs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@
55
[TestFixture]
66
public class OtherBranchScenarios
77
{
8-
[Test]
9-
public void CanTakeVersionFromReleaseBranch()
10-
{
11-
using (var fixture = new EmptyRepositoryFixture(new Config()))
12-
{
13-
const string TaggedVersion = "1.0.3";
14-
fixture.Repository.MakeATaggedCommit(TaggedVersion);
15-
fixture.Repository.MakeCommits(5);
16-
fixture.Repository.CreateBranch("alpha-2.0.0");
17-
fixture.Repository.Checkout("alpha-2.0.0");
8+
[Test]
9+
public void CanTakeVersionFromReleaseBranch()
10+
{
11+
using (var fixture = new EmptyRepositoryFixture(new Config()))
12+
{
13+
const string TaggedVersion = "1.0.3";
14+
fixture.Repository.MakeATaggedCommit(TaggedVersion);
15+
fixture.Repository.MakeCommits(5);
16+
fixture.Repository.CreateBranch("alpha-2.0.0");
17+
fixture.Repository.Checkout("alpha-2.0.0");
1818

19-
fixture.AssertFullSemver("2.0.0-alpha.1+0");
20-
}
21-
}
22-
[Test]
23-
public void BranchesWithIllegalCharsShouldNotBeUsedInVersionNames()
24-
{
25-
using (var fixture = new EmptyRepositoryFixture(new Config()))
26-
{
27-
const string TaggedVersion = "1.0.3";
28-
fixture.Repository.MakeATaggedCommit(TaggedVersion);
29-
fixture.Repository.MakeCommits(5);
30-
fixture.Repository.CreateBranch("issue/m/github-569");
31-
fixture.Repository.Checkout("issue/m/github-569");
19+
fixture.AssertFullSemver("2.0.0-alpha.1+0");
20+
}
21+
}
22+
[Test]
23+
public void BranchesWithIllegalCharsShouldNotBeUsedInVersionNames()
24+
{
25+
using (var fixture = new EmptyRepositoryFixture(new Config()))
26+
{
27+
const string TaggedVersion = "1.0.3";
28+
fixture.Repository.MakeATaggedCommit(TaggedVersion);
29+
fixture.Repository.MakeCommits(5);
30+
fixture.Repository.CreateBranch("issue/m/github-569");
31+
fixture.Repository.Checkout("issue/m/github-569");
3232

33-
fixture.AssertFullSemver("1.0.4-issue-m-github-569.1+5");
34-
}
35-
}
33+
fixture.AssertFullSemver("1.0.4-issue-m-github-569.1+5");
34+
}
35+
}
3636
}

src/GitVersionCore/VersionCalculation/NextVersionCalculator.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,12 @@ void UpdatePreReleaseTag(GitVersionContext context, SemanticVersion semanticVers
6161
if (tagToUse == "useBranchName")
6262
{
6363
Logger.WriteInfo("Using branch name to calculate version tag");
64-
var name = branchNameOverride ?? context.CurrentBranch.Name;
65-
tagToUse = name.RegexReplace(context.Configuration.BranchPrefixToTrim, string.Empty, RegexOptions.IgnoreCase);
64+
tagToUse = branchNameOverride ?? context.CurrentBranch.Name;
65+
if (!string.IsNullOrWhiteSpace(context.Configuration.BranchPrefixToTrim))
66+
{
67+
tagToUse = tagToUse.RegexReplace(context.Configuration.BranchPrefixToTrim, string.Empty, RegexOptions.IgnoreCase);
68+
}
69+
tagToUse = tagToUse.RegexReplace("[^a-zA-Z0-9-]", "-");
6670
}
6771
int? number = null;
6872
if (!string.IsNullOrEmpty(context.Configuration.TagNumberPattern))

0 commit comments

Comments
 (0)