diff --git a/src/GitVersionCore.Tests/ConfigProviderTests.cs b/src/GitVersionCore.Tests/ConfigProviderTests.cs index c39740a69a..090561e920 100644 --- a/src/GitVersionCore.Tests/ConfigProviderTests.cs +++ b/src/GitVersionCore.Tests/ConfigProviderTests.cs @@ -77,6 +77,17 @@ public void OverwritesDefaultsWithProvidedConfig() config.Branches["develop"].Tag.ShouldBe("dev"); } + [Test] + public void AllBranchesModeWhenUsingMainline() + { + var defaultConfig = ConfigurationProvider.Provide(repoPath, fileSystem); + const string text = @"mode: Mainline"; + SetupConfigFileContent(text); + var config = ConfigurationProvider.Provide(repoPath, fileSystem); + var branches = config.Branches.Select(x => x.Value); + branches.All(branch => branch.VersioningMode == VersioningMode.Mainline).ShouldBe(true); + } + [Test] public void CanRemoveTag() { diff --git a/src/GitVersionCore/Configuration/ConfigurationProvider.cs b/src/GitVersionCore/Configuration/ConfigurationProvider.cs index b72cd9ff3c..b4fc482c8e 100644 --- a/src/GitVersionCore/Configuration/ConfigurationProvider.cs +++ b/src/GitVersionCore/Configuration/ConfigurationProvider.cs @@ -109,7 +109,7 @@ public static void ApplyDefaultsTo(Config config) new List(), defaultTag: "alpha", defaultIncrementStrategy: IncrementStrategy.Minor, - defaultVersioningMode: VersioningMode.ContinuousDeployment, + defaultVersioningMode: config.VersioningMode == VersioningMode.Mainline? VersioningMode.Mainline : VersioningMode.ContinuousDeployment, defaultTrackMergeTarget: true, tracksReleaseBranches: true); ApplyBranchDefaults(config,