public void ShouldIncrementVersionBasedOnConfig() { var baseCalculator = new TestBaseVersionCalculator(true, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.1"); }
public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.0"); }
public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 1, "master", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.0"); }
public void AppliesBranchPreReleaseTag() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var context = new GitVersionContextBuilder() .WithDevelopBranch() .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.1+2"); }
public void AppliesBranchPreReleaseTag() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 2, "develop", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var context = new GitVersionContextBuilder() .WithDevelopBranch() .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.1+2"); }
public void VersionSourceShaOneCommit() { var config = new Config().ApplyDefaults(); using var fixture = new EmptyRepositoryFixture(); var initialCommit = fixture.Repository.MakeACommit(); var context = new GitVersionContext(fixture.Repository, new NullLog(), fixture.Repository.Head, config); var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator); var version = nextVersionCalculator.FindVersion(context); version.BuildMetaData.VersionSourceSha.ShouldBe(initialCommit.Sha); version.BuildMetaData.CommitsSinceVersionSource.ShouldBe(0); }
public void VersionSourceSha() { var config = new Config().ApplyDefaults(); using (var fixture = new EmptyRepositoryFixture()) { var initialCommit = fixture.Repository.MakeACommit(); Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("develop")); _ = fixture.Repository.MakeACommit(); var featureBranch = fixture.Repository.CreateBranch("feature/foo"); Commands.Checkout(fixture.Repository, featureBranch); _ = fixture.Repository.MakeACommit(); var context = new GitVersionContext(fixture.Repository, fixture.Repository.Head, config); var nextVersionCalculator = new NextVersionCalculator(); var version = nextVersionCalculator.FindVersion(context); version.BuildMetaData.VersionSourceSha.ShouldBe(initialCommit.Sha); version.BuildMetaData.CommitsSinceVersionSource.ShouldBe(2); } }
public void PreReleaseTagCanUseBranchNameVariable() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); config.Branches.Add("custom/", new BranchConfig { Tag = "alpha.{BranchName}" }); var context = new GitVersionContextBuilder() .WithConfig(config) .WithDevelopBranch() .AddBranch("custom/foo") .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.foo.1+2"); }
public void VersionSourceShaUsingTag() { var config = new Config().ApplyDefaults(); using var fixture = new EmptyRepositoryFixture(); _ = fixture.Repository.MakeACommit(); Commands.Checkout(fixture.Repository, fixture.Repository.CreateBranch("develop")); var secondCommit = fixture.Repository.MakeACommit(); _ = fixture.Repository.Tags.Add("1.0", secondCommit); var featureBranch = fixture.Repository.CreateBranch("feature/foo"); Commands.Checkout(fixture.Repository, featureBranch); _ = fixture.Repository.MakeACommit(); var context = new GitVersionContext(fixture.Repository, new NullLog(), fixture.Repository.Head, config); var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator); var version = nextVersionCalculator.FindVersion(context); version.BuildMetaData.VersionSourceSha.ShouldBe(secondCommit.Sha); version.BuildMetaData.CommitsSinceVersionSource.ShouldBe(1); }