Skip to content

Commit 136f85b

Browse files
committed
Merge pull request #478 from JakeGinnivan/feature/DontResetCountWhenVersionWillBeTheSame
Feature/dont reset count when version will be the same
2 parents 81ab590 + e5e9abb commit 136f85b

23 files changed

+163
-140
lines changed

GitVersionCore.Tests/GitVersionCore.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@
127127
<Compile Include="VersionCalculation\NextVersionCalculatorTests.cs" />
128128
<Compile Include="VersionCalculation\Strategies\ConfigNextVersionBaseVersionStrategyTests.cs" />
129129
<Compile Include="GitVersionContextBuilder.cs" />
130-
<Compile Include="VersionCalculation\Strategies\LastTagBaseVersionStrategyTests.cs" />
131130
<Compile Include="VersionCalculation\Strategies\MergeMessageBaseVersionStrategyTests.cs" />
132131
<Compile Include="VersionCalculation\Strategies\VersionInBranchBaseVersionStrategyTests.cs" />
133132
<Compile Include="VersionCalculation\TestBaseVersionCalculator.cs" />

GitVersionCore.Tests/IntegrationTests/HotfixBranchScenarios.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@ public void PatchLatestReleaseExample()
1313
// create hotfix
1414
fixture.Repository.CreateBranch("hotfix-1.2.1").Checkout();
1515

16-
fixture.AssertFullSemver("1.2.1-beta.1+0");
17-
fixture.Repository.MakeACommit();
1816
fixture.AssertFullSemver("1.2.1-beta.1+1");
17+
fixture.Repository.MakeACommit();
18+
fixture.AssertFullSemver("1.2.1-beta.1+2");
1919
fixture.Repository.ApplyTag("1.2.1-beta.1");
2020
fixture.AssertFullSemver("1.2.1-beta.1");
2121
fixture.Repository.MakeACommit();
22-
fixture.AssertFullSemver("1.2.1-beta.2+2");
22+
fixture.AssertFullSemver("1.2.1-beta.2+3");
2323

2424
// Merge hotfix branch to master
2525
fixture.Repository.Checkout("master");
2626

2727

2828
fixture.Repository.MergeNoFF("hotfix-1.2.1", Constants.SignatureNow());
29-
fixture.AssertFullSemver("1.2.1+0");
29+
fixture.AssertFullSemver("1.2.1+4");
3030

3131
fixture.Repository.ApplyTag("1.2.1");
3232
fixture.AssertFullSemver("1.2.1");
@@ -36,7 +36,7 @@ public void PatchLatestReleaseExample()
3636
fixture.AssertFullSemver("1.3.0-unstable.1");
3737

3838
fixture.Repository.MergeNoFF("hotfix-1.2.1", Constants.SignatureNow());
39-
fixture.AssertFullSemver("1.3.0-unstable.0");
39+
fixture.AssertFullSemver("1.3.0-unstable.4");
4040
}
4141
}
4242

@@ -73,12 +73,12 @@ public void PatchOlderReleaseExample()
7373
fixture.AssertFullSemver("1.1.1-PullRequest.2+4");
7474
fixture.Repository.Checkout("hotfix-1.1.1");
7575
fixture.Repository.MergeNoFF("feature/fix", Constants.SignatureNow());
76-
fixture.AssertFullSemver("1.1.1-beta.1+1");
76+
fixture.AssertFullSemver("1.1.1-beta.1+4");
7777

7878
// Merge hotfix into support branch to complete hotfix
7979
fixture.Repository.Checkout("support-1.1");
8080
fixture.Repository.MergeNoFF("hotfix-1.1.1", Constants.SignatureNow());
81-
fixture.AssertFullSemver("1.1.1+0");
81+
fixture.AssertFullSemver("1.1.1+5");
8282
fixture.Repository.ApplyTag("1.1.1");
8383
fixture.AssertFullSemver("1.1.1");
8484

GitVersionCore.Tests/IntegrationTests/ReleaseBranchScenarios.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,12 @@ public void NoMergeBacksToDevelopInCaseThereAreChangesInReleaseBranch()
4747
// Merge to develop
4848
fixture.Repository.Checkout("develop");
4949
fixture.Repository.MergeNoFF("release/1.0.0");
50+
fixture.AssertFullSemver("1.1.0-unstable.1");
5051

5152
fixture.Repository.MakeACommit();
5253
fixture.Repository.Branches.Remove(releaseBranch);
5354

54-
fixture.AssertFullSemver("1.1.0-unstable.1");
55+
fixture.AssertFullSemver("1.1.0-unstable.2");
5556
}
5657
}
5758

GitVersionCore.Tests/IntegrationTests/SupportBranchScenarios.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void SupportIsCalculatedCorrectly()
4646
fixture.AssertFullSemver("1.2.1-beta.1+1");
4747
fixture.Repository.Checkout("support/1.0.0");
4848
fixture.Repository.MergeNoFF("hotfix/1.2.1");
49-
fixture.AssertFullSemver("1.2.1+0");
49+
fixture.AssertFullSemver("1.2.1+2");
5050
}
5151
}
5252

GitVersionCore.Tests/IntegrationTests/WikiScenarios.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,10 @@ public void MinorReleaseExample()
8888

8989
// Verify develop version
9090
fixture.Repository.Checkout("develop");
91+
fixture.AssertFullSemver("1.3.0-unstable.4");
9192
fixture.Repository.MergeNoFF("release-1.3.0", Constants.SignatureNow());
92-
fixture.AssertFullSemver("1.4.0-unstable.0");
93+
// Not 0 for commit count as we can't know the increment rules of the merged branch
94+
fixture.AssertFullSemver("1.4.0-unstable.2");
9395
}
9496
}
9597
}

GitVersionCore.Tests/Mocks/MockQueryableCommitLog.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ public CommitSortStrategies SortedBy
2929

3030
public ICommitLog QueryBy(CommitFilter filter)
3131
{
32-
throw new NotImplementedException();
32+
return this;
3333
}
3434

3535
public Commit FindMergeBase(Commit first, Commit second)
3636
{
37-
throw new NotImplementedException();
37+
return null;
3838
}
3939

4040
public Commit FindMergeBase(IEnumerable<Commit> commits, MergeBaseFindingStrategy strategy)

GitVersionCore.Tests/VersionCalculation/BaseVersionCalculatorTests.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace GitVersionCore.Tests.VersionCalculation
22
{
33
using System;
4+
using System.Collections.Generic;
45
using GitVersion;
56
using GitVersion.VersionCalculation;
67
using GitVersion.VersionCalculation.BaseVersionCalculators;
@@ -62,9 +63,9 @@ public V1Strategy(DateTimeOffset? when)
6263
this.when = when == null ? null : new MockCommit { CommitterEx = when.Value.ToSignature() };
6364
}
6465

65-
public override BaseVersion GetVersion(GitVersionContext context)
66+
public override IEnumerable<BaseVersion> GetVersions(GitVersionContext context)
6667
{
67-
return new BaseVersion("Source 1", false, new SemanticVersion(1), when, null);
68+
yield return new BaseVersion("Source 1", false, new SemanticVersion(1), when, null);
6869
}
6970
}
7071

@@ -77,9 +78,9 @@ public V2Strategy(DateTimeOffset? when)
7778
this.when = when == null ? null : new MockCommit { CommitterEx = when.Value.ToSignature() };
7879
}
7980

80-
public override BaseVersion GetVersion(GitVersionContext context)
81+
public override IEnumerable<BaseVersion> GetVersions(GitVersionContext context)
8182
{
82-
return new BaseVersion("Source 2", true, new SemanticVersion(2), when, null);
83+
yield return new BaseVersion("Source 2", true, new SemanticVersion(2), when, null);
8384
}
8485
}
8586
}

GitVersionCore.Tests/VersionCalculation/Strategies/ConfigNextVersionBaseVersionStrategyTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace GitVersionCore.Tests.VersionCalculation.Strategies
22
{
3+
using System.Linq;
34
using GitVersion;
45
using GitVersion.VersionCalculation.BaseVersionCalculators;
56
using NUnit.Framework;
@@ -18,7 +19,7 @@ public void ShouldNotBeIncremented()
1819
});
1920
var sut = new ConfigNextVersionBaseVersionStrategy();
2021

21-
var baseVersion = sut.GetVersion(contextBuilder.Build());
22+
var baseVersion = sut.GetVersions(contextBuilder.Build()).Single();
2223

2324
baseVersion.ShouldIncrement.ShouldBe(false);
2425
baseVersion.SemanticVersion.ToString().ShouldBe("1.0.0");
@@ -30,7 +31,7 @@ public void ReturnsNullWhenNoNextVersionIsInConfig()
3031
var contextBuilder = new GitVersionContextBuilder();
3132
var sut = new ConfigNextVersionBaseVersionStrategy();
3233

33-
var baseVersion = sut.GetVersion(contextBuilder.Build());
34+
var baseVersion = sut.GetVersions(contextBuilder.Build()).SingleOrDefault();
3435

3536
baseVersion.ShouldBe(null);
3637
}

GitVersionCore.Tests/VersionCalculation/Strategies/LastTagBaseVersionStrategyTests.cs

Lines changed: 0 additions & 37 deletions
This file was deleted.

GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace GitVersionCore.Tests.VersionCalculation.Strategies
22
{
33
using System.Collections.Generic;
4+
using System.Linq;
45
using GitVersion.VersionCalculation.BaseVersionCalculators;
56
using LibGit2Sharp;
67
using NUnit.Framework;
@@ -24,7 +25,7 @@ public void ShouldNotAllowIncrementOfVersion()
2425
}).Build();
2526
var sut = new MergeMessageBaseVersionStrategy();
2627

27-
var baseVersion = sut.GetVersion(context);
28+
var baseVersion = sut.GetVersions(context).Single();
2829

2930
baseVersion.ShouldIncrement.ShouldBe(false);
3031
}
@@ -109,7 +110,7 @@ static void AssertMergeMessage(string message, string expectedVersion, List<Comm
109110
.Build();
110111
var sut = new MergeMessageBaseVersionStrategy();
111112

112-
var baseVersion = sut.GetVersion(context);
113+
var baseVersion = sut.GetVersions(context).SingleOrDefault();
113114

114115
if (expectedVersion == null)
115116
{

0 commit comments

Comments
 (0)