From 89c10e8f935f5a44277e3d031b3994ba6b852aea Mon Sep 17 00:00:00 2001 From: MikeLarah Date: Tue, 26 Jul 2016 12:29:13 +0100 Subject: [PATCH] Exclude base commit when getting intermediate commits. #974 --- .../VersionBumpingScenarios.cs | 20 +++++++++++++++++++ src/GitVersionCore/IncrementStrategyFinder.cs | 6 +++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/GitVersionCore.Tests/IntegrationTests/VersionBumpingScenarios.cs b/src/GitVersionCore.Tests/IntegrationTests/VersionBumpingScenarios.cs index f2605b25a8..dfbe9ea17c 100644 --- a/src/GitVersionCore.Tests/IntegrationTests/VersionBumpingScenarios.cs +++ b/src/GitVersionCore.Tests/IntegrationTests/VersionBumpingScenarios.cs @@ -43,4 +43,24 @@ public void CanUseCommitMessagesToBumpVersion() } } + + [Test] + public void CanUseCommitMessagesToBumpVersionBaseVersionTagIsAppliedToSameCommit() + { + using (var fixture = new EmptyRepositoryFixture()) + { + fixture.Repository.MakeACommit(); + fixture.MakeATaggedCommit("1.0.0"); + fixture.Repository.MakeACommit("+semver:minor"); + fixture.AssertFullSemver("1.1.0+1"); + + fixture.ApplyTag("2.0.0"); + + fixture.Repository.MakeACommit("Hello"); + + // Default bump is patch + + fixture.AssertFullSemver("2.0.1+1"); + } + } } diff --git a/src/GitVersionCore/IncrementStrategyFinder.cs b/src/GitVersionCore/IncrementStrategyFinder.cs index 82fbb38b75..73723862a3 100644 --- a/src/GitVersionCore/IncrementStrategyFinder.cs +++ b/src/GitVersionCore/IncrementStrategyFinder.cs @@ -104,11 +104,11 @@ private static IEnumerable GetIntermediateCommits(IRepository repo, Comm var found = false; foreach (var commit in intermediateCommitCache) { - if (commit.Sha == baseCommit.Sha) - found = true; - if (found) yield return commit; + + if (commit.Sha == baseCommit.Sha) + found = true; } }