Skip to content

Commit 93ad627

Browse files
committed
Merge pull request #541 from JakeGinnivan/CommitCountingFixes
Fixing issues introduced with commit counting
2 parents 8c6ab50 + 9a2811a commit 93ad627

File tree

5 files changed

+47
-8
lines changed

5 files changed

+47
-8
lines changed

src/GitVersionCore.Tests/Fixtures/RepositoryFixtureBase.cs

+1
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ public void AssertFullSemver(string fullSemver, IRepository repository = null, s
131131
{
132132
if (repository != null)
133133
repository.DumpGraph();
134+
throw;
134135
}
135136
if (commitId == null)
136137
diagramBuilder.AppendLineFormat("note over {0} #D3D3D3: {1}", GetParticipant(Repository.Head.Name), fullSemver);

src/GitVersionCore.Tests/IntegrationTests/DocumentationSamples.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public void GitFlowMinorRelease()
139139

140140
// Make a commit after a tag should bump up the beta
141141
fixture.MakeACommit();
142-
fixture.AssertFullSemver("1.3.0-beta.2+1");
142+
fixture.AssertFullSemver("1.3.0-beta.2+2");
143143

144144
// Complete release
145145
fixture.Checkout("master");
@@ -195,7 +195,7 @@ public void GitFlowMajorRelease()
195195

196196
// Make a commit after a tag should bump up the beta
197197
fixture.MakeACommit();
198-
fixture.AssertFullSemver("2.0.0-beta.2+1");
198+
fixture.AssertFullSemver("2.0.0-beta.2+2");
199199

200200
// Complete release
201201
fixture.Checkout("master");
@@ -392,7 +392,7 @@ public void GitHubFlowMajorRelease()
392392

393393
// Make a commit after a tag should bump up the beta
394394
fixture.MakeACommit();
395-
fixture.AssertFullSemver("2.0.0-beta.2+1");
395+
fixture.AssertFullSemver("2.0.0-beta.2+3");
396396

397397
// Complete release
398398
fixture.Checkout("master");

src/GitVersionCore.Tests/IntegrationTests/ReleaseBranchScenarios.cs

+41-3
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ public void WhenReleaseBranchIsMergedIntoDevelopHighestVersionIsTakenWithIt()
205205
fixture.Repository.Checkout("develop");
206206
fixture.Repository.MergeNoFF("release-1.0.0", Constants.SignatureNow());
207207

208-
fixture.AssertFullSemver("2.1.0-unstable.0");
208+
fixture.AssertFullSemver("2.1.0-unstable.5");
209209
}
210210
}
211211

@@ -256,15 +256,53 @@ public void WhenMergingReleaseBackToDevShouldNotResetBetaVersion()
256256

257257
fixture.Repository.MakeCommits(1);
258258

259-
fixture.AssertFullSemver("2.0.0-beta.2+1");
259+
fixture.AssertFullSemver("2.0.0-beta.2+2");
260260

261261
//merge down to develop
262262
fixture.Repository.Checkout("develop");
263263
fixture.Repository.MergeNoFF("release-2.0.0", Constants.SignatureNow());
264264

265265
//but keep working on the release
266266
fixture.Repository.Checkout("release-2.0.0");
267-
fixture.AssertFullSemver("2.0.0-beta.2+1");
267+
fixture.AssertFullSemver("2.0.0-beta.2+2");
268+
}
269+
}
270+
271+
[Test]
272+
public void HotfixOffReleaseBranchShouldNotResetCount()
273+
{
274+
using (var fixture = new EmptyRepositoryFixture(new Config
275+
{
276+
VersioningMode = VersioningMode.ContinuousDeployment
277+
}))
278+
{
279+
const string TaggedVersion = "1.0.3";
280+
fixture.Repository.MakeATaggedCommit(TaggedVersion);
281+
fixture.Repository.CreateBranch("develop");
282+
fixture.Repository.Checkout("develop");
283+
284+
fixture.Repository.MakeCommits(1);
285+
286+
fixture.Repository.CreateBranch("release-2.0.0");
287+
fixture.Repository.Checkout("release-2.0.0");
288+
fixture.Repository.MakeCommits(1);
289+
290+
fixture.AssertFullSemver("2.0.0-beta.1");
291+
292+
//tag it to bump to beta 2
293+
fixture.Repository.MakeCommits(4);
294+
295+
fixture.AssertFullSemver("2.0.0-beta.5");
296+
297+
//merge down to develop
298+
fixture.Repository.CreateBranch("hotfix-2.0.0");
299+
fixture.Repository.MakeCommits(2);
300+
301+
//but keep working on the release
302+
fixture.Repository.Checkout("release-2.0.0");
303+
fixture.Repository.MergeNoFF("hotfix-2.0.0", Constants.SignatureNow());
304+
fixture.Repository.Branches.Remove(fixture.Repository.FindBranch("hotfix-2.0.0"));
305+
fixture.AssertFullSemver("2.0.0-beta.7");
268306
}
269307
}
270308
}

src/GitVersionCore.Tests/IntegrationTests/SupportBranchScenarios.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void WhenSupportIsBranchedAndTaggedFromAnotherSupportEnsureNewMinorIsUsed
6969
fixture.Repository.MakeACommit();
7070
fixture.Repository.MakeACommit();
7171

72-
fixture.AssertFullSemver("1.3.0+2");
72+
fixture.AssertFullSemver("1.3.1+2");
7373
}
7474
}
7575
}

src/GitVersionCore/VersionCalculation/BaseVersionCalculator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public BaseVersion GetBaseVersion(GitVersionContext context)
5353
{
5454
baseVersionWithOldestSource = baseVersions
5555
.Where(v => v.Version.BaseVersionSource != null)
56-
.OrderBy(v => v.IncrementedVersion)
56+
.OrderByDescending(v => v.IncrementedVersion)
5757
.ThenByDescending(v => v.Version.BaseVersionSource.Committer.When)
5858
.First()
5959
.Version;

0 commit comments

Comments
 (0)