From 1bdb37a5d466d2470d17cf815f1ea796e250a6ab Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Thu, 18 Oct 2018 22:42:07 +0200 Subject: [PATCH 1/8] Add a filter to ignore messages that match a regex --- .../Configuration/IgnoreConfig.cs | 8 +++-- .../VersionFilters/MessageFilter.cs | 35 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 src/GitVersionCore/VersionFilters/MessageFilter.cs diff --git a/src/GitVersionCore/Configuration/IgnoreConfig.cs b/src/GitVersionCore/Configuration/IgnoreConfig.cs index df4d45fa17..ad60e236b4 100644 --- a/src/GitVersionCore/Configuration/IgnoreConfig.cs +++ b/src/GitVersionCore/Configuration/IgnoreConfig.cs @@ -1,4 +1,4 @@ -namespace GitVersion +namespace GitVersion { using System; using System.Collections.Generic; @@ -19,10 +19,14 @@ public IgnoreConfig() [YamlMember(Alias = "sha")] public IEnumerable SHAs { get; set; } + [YamlMember(Alias = "regex")] + public string Regex { get; set; } + public virtual IEnumerable ToFilters() { if (SHAs.Any()) yield return new ShaVersionFilter(SHAs); if (Before.HasValue) yield return new MinDateVersionFilter(Before.Value); + if (!string.IsNullOrWhiteSpace(Regex)) yield return new MessageFilter(Regex); } } -} \ No newline at end of file +} diff --git a/src/GitVersionCore/VersionFilters/MessageFilter.cs b/src/GitVersionCore/VersionFilters/MessageFilter.cs new file mode 100644 index 0000000000..825eeebb1b --- /dev/null +++ b/src/GitVersionCore/VersionFilters/MessageFilter.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; +using GitVersion.VersionCalculation.BaseVersionCalculators; + +namespace GitVersion.VersionFilters +{ + public class MessageFilter : IVersionFilter + { + private readonly Regex regex; + + public MessageFilter(string regex) + { + if (regex == null) throw new ArgumentNullException(nameof(regex)); + this.regex = new Regex(regex); ; + } + + public bool Exclude(BaseVersion version, out string reason) + { + if (version == null) throw new ArgumentNullException(nameof(version)); + + reason = null; + + if (version.BaseVersionSource != null && + regex.Match(version.BaseVersionSource.Message).Success) + { + reason = $"Message {version.BaseVersionSource.Message} was ignored due to commit having been excluded by configuration"; + return true; + } + + return false; + } + } +} From 805e881784028e4a231e20ebaf4b2ec22d6f0de3 Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Thu, 18 Oct 2018 22:45:41 +0200 Subject: [PATCH 2/8] add docu for ignore regex --- docs/configuration.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 217041adbd..38b856f0ab 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -48,6 +48,7 @@ commit-date-format: 'yyyy-MM-dd' ignore: sha: [] commits-before: yyyy-MM-ddTHH:mm:ss + regex: 'irgnoreMatch' ``` And the description of the available options are: @@ -179,6 +180,10 @@ Date and time in the format `yyyy-MM-ddTHH:mm:ss` (eg `commits-before: 2015-10-23T12:23:15`) to setup an exclusion range. Effectively any commit before `commits-before` will be ignored. +#### regex +The regex to match commit messages that will be ignored. Usefull to exlude for example +pull request from an automatic nuget updater. + ## Branch configuration Then we have branch specific configuration, which looks something like this: From 68c579266b5bff4f4e75038075f357a726538bb4 Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Thu, 18 Oct 2018 23:19:18 +0200 Subject: [PATCH 3/8] fix typos --- docs/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 38b856f0ab..ea10fdb55d 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -48,7 +48,7 @@ commit-date-format: 'yyyy-MM-dd' ignore: sha: [] commits-before: yyyy-MM-ddTHH:mm:ss - regex: 'irgnoreMatch' + regex: 'ignoreMatch' ``` And the description of the available options are: @@ -181,7 +181,7 @@ Date and time in the format `yyyy-MM-ddTHH:mm:ss` (eg `commits-before: `commits-before` will be ignored. #### regex -The regex to match commit messages that will be ignored. Usefull to exlude for example +The regex to match commit messages that will be ignored. Useful to exclude for example pull request from an automatic nuget updater. ## Branch configuration From d91de90e1c3263c6e35c930963ad93e1efbf21ed Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Sat, 27 Oct 2018 23:37:34 +0200 Subject: [PATCH 4/8] add use-merge-message-version from PR #1495 --- docs/configuration.md | 6 ++++++ src/GitVersionCore/Configuration/Config.cs | 7 +++++-- .../Configuration/ConfigurationProvider.cs | 1 + src/GitVersionCore/EffectiveConfiguration.cs | 12 ++++++++---- src/GitVersionCore/GitVersionContext.cs | 9 ++++++--- .../MergeMessageBaseVersionStrategy.cs | 9 +++++++-- .../TestEffectiveConfiguration.cs | 7 ++++--- .../Helpers/TestEffectiveConfiguration.cs | 7 ++++--- 8 files changed, 41 insertions(+), 17 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 38b856f0ab..12565ba10a 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -45,6 +45,8 @@ build-metadata-padding: 4 commits-since-version-source-padding: 4 commit-message-incrementing: Enabled commit-date-format: 'yyyy-MM-dd' +use-merge-message-version: true + ignore: sha: [] commits-before: yyyy-MM-ddTHH:mm:ss @@ -154,6 +156,10 @@ details on the syntax. Default set to `Enabled`; set to `Disabled` to disable. ### commit-date-format Sets the format which will be used to format the `CommitDate` output variable. +#### use-merge-message-version +This configuration can be used to disable merge message version detection, where the version +is infered from the commit message. + ### ignore The header for ignore configuration. diff --git a/src/GitVersionCore/Configuration/Config.cs b/src/GitVersionCore/Configuration/Config.cs index 8225df969f..3678128909 100644 --- a/src/GitVersionCore/Configuration/Config.cs +++ b/src/GitVersionCore/Configuration/Config.cs @@ -1,4 +1,4 @@ -namespace GitVersion +namespace GitVersion { using System; using System.Collections.Generic; @@ -79,6 +79,9 @@ public string NextVersion [YamlMember(Alias = "commit-message-incrementing")] public CommitMessageIncrementMode? CommitMessageIncrementing { get; set; } + [YamlMember(Alias = "use-merge-message-version")] + public bool? UseMergeMessageVersion { get; set; } + [YamlMember(Alias = "branches")] public Dictionary Branches { @@ -145,4 +148,4 @@ T MergeObjects(T target, T source) [YamlMember(Alias = "commit-date-format")] public string CommitDateFormat { get; set; } } -} \ No newline at end of file +} diff --git a/src/GitVersionCore/Configuration/ConfigurationProvider.cs b/src/GitVersionCore/Configuration/ConfigurationProvider.cs index d0fc3b8d96..aea89cc10c 100644 --- a/src/GitVersionCore/Configuration/ConfigurationProvider.cs +++ b/src/GitVersionCore/Configuration/ConfigurationProvider.cs @@ -102,6 +102,7 @@ public static void ApplyDefaultsTo(Config config) config.BuildMetaDataPadding = config.BuildMetaDataPadding ?? 4; config.CommitsSinceVersionSourcePadding = config.CommitsSinceVersionSourcePadding ?? 4; config.CommitDateFormat = config.CommitDateFormat ?? "yyyy-MM-dd"; + config.UseMergeMessageVersion = config.UseMergeMessageVersion ?? true; var configBranches = config.Branches.ToList(); diff --git a/src/GitVersionCore/EffectiveConfiguration.cs b/src/GitVersionCore/EffectiveConfiguration.cs index abf2cd9aec..fa6c25433e 100644 --- a/src/GitVersionCore/EffectiveConfiguration.cs +++ b/src/GitVersionCore/EffectiveConfiguration.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using GitVersion.VersionFilters; namespace GitVersion @@ -32,7 +32,8 @@ public EffectiveConfiguration( IEnumerable versionFilters, bool tracksReleaseBranches, bool isCurrentBranchRelease, - string commitDateFormat) + string commitDateFormat, + bool useMergeMessageVersion) { AssemblyVersioningScheme = assemblyVersioningScheme; AssemblyFileVersioningScheme = assemblyFileVersioningScheme; @@ -61,7 +62,8 @@ public EffectiveConfiguration( TracksReleaseBranches = tracksReleaseBranches; IsCurrentBranchRelease = isCurrentBranchRelease; CommitDateFormat = commitDateFormat; - } + UseMergeMessageVersion = useMergeMessageVersion; + } public bool TracksReleaseBranches { get; private set; } public bool IsCurrentBranchRelease { get; private set; } @@ -115,5 +117,7 @@ public EffectiveConfiguration( public IEnumerable VersionFilters { get; private set; } public string CommitDateFormat { get; private set; } + + public bool UseMergeMessageVersion { get; private set; } } -} \ No newline at end of file +} diff --git a/src/GitVersionCore/GitVersionContext.cs b/src/GitVersionCore/GitVersionContext.cs index 4478d330b4..fcedcc4dbc 100644 --- a/src/GitVersionCore/GitVersionContext.cs +++ b/src/GitVersionCore/GitVersionContext.cs @@ -1,4 +1,4 @@ -namespace GitVersion +namespace GitVersion { using LibGit2Sharp; using System; @@ -110,6 +110,8 @@ void CalculateEffectiveConfiguration() throw new Exception("Configuration value for 'BuildMetaDataPadding' has no value. (this should not happen, please report an issue)"); if (!FullConfiguration.CommitsSinceVersionSourcePadding.HasValue) throw new Exception("Configuration value for 'CommitsSinceVersionSourcePadding' has no value. (this should not happen, please report an issue)"); + if (!FullConfiguration.UseMergeMessageVersion.HasValue) + throw new Exception("Configuration value for 'UseMergeMessageVersion' has no value. (this should not happen, please report an issue)"); var versioningMode = currentBranchConfig.VersioningMode.Value; var tag = currentBranchConfig.Tag; @@ -130,7 +132,7 @@ void CalculateEffectiveConfiguration() var patchMessage = FullConfiguration.PatchVersionBumpMessage; var noBumpMessage = FullConfiguration.NoBumpMessage; var commitDateFormat = FullConfiguration.CommitDateFormat; - + var useMergeMessageVersion = FullConfiguration.UseMergeMessageVersion.Value; var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? FullConfiguration.CommitMessageIncrementing.Value; Configuration = new EffectiveConfiguration( @@ -148,7 +150,8 @@ void CalculateEffectiveConfiguration() FullConfiguration.Ignore.ToFilters(), currentBranchConfig.TracksReleaseBranches.Value, currentBranchConfig.IsReleaseBranch.Value, - commitDateFormat); + commitDateFormat, + useMergeMessageVersion); } private static Branch GetTargetBranch(IRepository repository, string targetBranch) diff --git a/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs b/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs index e9fac9c84c..dc52755dca 100644 --- a/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs +++ b/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs @@ -1,4 +1,4 @@ -namespace GitVersion.VersionCalculation.BaseVersionCalculators +namespace GitVersion.VersionCalculation.BaseVersionCalculators { using System.Collections.Generic; using System.Linq; @@ -13,6 +13,11 @@ public class MergeMessageBaseVersionStrategy : BaseVersionStrategy { public override IEnumerable GetVersions(GitVersionContext context) { + if (!context.Configuration.UseMergeMessageVersion) + { + return Enumerable.Empty(); + } + var commitsPriorToThan = context.CurrentBranch .CommitsPriorToThan(context.CurrentCommit.When()); var baseVersions = commitsPriorToThan @@ -49,4 +54,4 @@ static SemanticVersion Inner(Commit mergeCommit, GitVersionContext context) return mergeMessage.Version; } } -} \ No newline at end of file +} diff --git a/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs b/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs index 6b2d03ddfe..7d2452b458 100644 --- a/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs +++ b/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs @@ -33,16 +33,17 @@ public TestEffectiveConfiguration( IEnumerable versionFilters = null, bool tracksReleaseBranches = false, bool isRelease = false, - string commitDateFormat = "yyyy-MM-dd") : + string commitDateFormat = "yyyy-MM-dd", + bool useMergeMessageVersion = true) : base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, majorMessage, minorMessage, patchMessage, noBumpMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding, versionFilters ?? Enumerable.Empty(), - tracksReleaseBranches, isRelease, commitDateFormat) + tracksReleaseBranches, isRelease, commitDateFormat, useMergeMessageVersion) { } } -} \ No newline at end of file +} diff --git a/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs b/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs index 876de76ac1..0ad127aae4 100644 --- a/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs +++ b/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs @@ -33,15 +33,16 @@ public TestEffectiveConfiguration( IEnumerable versionFilters = null, bool tracksReleaseBranches = false, bool isRelease = false, - string commitDateFormat = "yyyy-MM-dd") : + string commitDateFormat = "yyyy-MM-dd", + bool useMergeMessageVersion = true) : base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, majorMessage, minorMessage, patchMessage, noBumpMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding, versionFilters ?? Enumerable.Empty(), - tracksReleaseBranches, isRelease, commitDateFormat) + tracksReleaseBranches, isRelease, commitDateFormat, useMergeMessageVersion) { } } -} \ No newline at end of file +} From fe0c1af9c4b884fe61a24981f47e34f06963e8d2 Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Sat, 27 Oct 2018 23:47:24 +0200 Subject: [PATCH 5/8] fix Tests --- src/GitVersionCore.Tests/CommitDateTests.cs | 4 ++-- ...derTests.CanWriteOutEffectiveConfiguration.approved.txt | 1 + src/GitVersionCore.Tests/TestEffectiveConfiguration.cs | 7 ++++--- src/GitVersionExe/GitVersionExe.csproj | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/GitVersionCore.Tests/CommitDateTests.cs b/src/GitVersionCore.Tests/CommitDateTests.cs index c5db74ff53..faceca4ef3 100644 --- a/src/GitVersionCore.Tests/CommitDateTests.cs +++ b/src/GitVersionCore.Tests/CommitDateTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -28,7 +28,7 @@ public void CommitDateFormatTest(string format, string expectedOutcome) }, new EffectiveConfiguration( AssemblyVersioningScheme.MajorMinorPatch, AssemblyFileVersioningScheme.MajorMinorPatch, "", "", "", VersioningMode.ContinuousDelivery, "", "", "", IncrementStrategy.Inherit, - "", true, "", "", false, "", "", "", "", CommitMessageIncrementMode.Enabled, 4, 4, 4, Enumerable.Empty(), false, true, format) + "", true, "", "", false, "", "", "", "", CommitMessageIncrementMode.Enabled, 4, 4, 4, Enumerable.Empty(), false, true, format, true) ); Assert.That(formatValues.CommitDate, Is.EqualTo(expectedOutcome)); diff --git a/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt b/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt index 2650aedd2b..b6c9c2f2be 100644 --- a/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt +++ b/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt @@ -11,6 +11,7 @@ legacy-semver-padding: 4 build-metadata-padding: 4 commits-since-version-source-padding: 4 commit-message-incrementing: Enabled +use-merge-message-version: true branches: develop: mode: ContinuousDeployment diff --git a/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs b/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs index 876de76ac1..0ad127aae4 100644 --- a/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs +++ b/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs @@ -33,15 +33,16 @@ public TestEffectiveConfiguration( IEnumerable versionFilters = null, bool tracksReleaseBranches = false, bool isRelease = false, - string commitDateFormat = "yyyy-MM-dd") : + string commitDateFormat = "yyyy-MM-dd", + bool useMergeMessageVersion = true) : base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, majorMessage, minorMessage, patchMessage, noBumpMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding, versionFilters ?? Enumerable.Empty(), - tracksReleaseBranches, isRelease, commitDateFormat) + tracksReleaseBranches, isRelease, commitDateFormat, useMergeMessageVersion) { } } -} \ No newline at end of file +} diff --git a/src/GitVersionExe/GitVersionExe.csproj b/src/GitVersionExe/GitVersionExe.csproj index a9be0afdb3..177481d4d8 100644 --- a/src/GitVersionExe/GitVersionExe.csproj +++ b/src/GitVersionExe/GitVersionExe.csproj @@ -1,4 +1,4 @@ - + Debug AnyCPU @@ -6,7 +6,7 @@ Exe GitVersion GitVersion - net40;netcoreapp2.0 + net40 $(SolutionDir)..\build\ false From 19e0ee2a272cffa2924de31986f63af70d85335b Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Sat, 27 Oct 2018 23:48:13 +0200 Subject: [PATCH 6/8] reset TargetFrameworks --- src/GitVersionExe/GitVersionExe.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GitVersionExe/GitVersionExe.csproj b/src/GitVersionExe/GitVersionExe.csproj index 177481d4d8..192e40a826 100644 --- a/src/GitVersionExe/GitVersionExe.csproj +++ b/src/GitVersionExe/GitVersionExe.csproj @@ -6,7 +6,7 @@ Exe GitVersion GitVersion - net40 + net40;netcoreapp2.0 $(SolutionDir)..\build\ false From 0d34a6494c088370e2b1d4d407152ace00e1dae7 Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Sat, 23 Feb 2019 08:22:32 +0100 Subject: [PATCH 7/8] change names of new flags --- docs/configuration.md | 8 ++++---- ...erTests.CanWriteOutEffectiveConfiguration.approved.txt | 2 +- src/GitVersionCore.Tests/TestEffectiveConfiguration.cs | 2 +- src/GitVersionCore/Configuration/BranchConfig.cs | 6 +++--- src/GitVersionCore/Configuration/Config.cs | 4 ++-- src/GitVersionCore/Configuration/ConfigurationProvider.cs | 2 +- src/GitVersionCore/Configuration/IgnoreConfig.cs | 6 +++--- src/GitVersionCore/EffectiveConfiguration.cs | 4 ++-- src/GitVersionCore/GitVersionContext.cs | 2 +- src/GitVersionExe.Tests/TestEffectiveConfiguration.cs | 2 +- .../Helpers/TestEffectiveConfiguration.cs | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index cd3d81ecd1..ad8f370bb7 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -45,12 +45,12 @@ build-metadata-padding: 4 commits-since-version-source-padding: 4 commit-message-incrementing: Enabled commit-date-format: 'yyyy-MM-dd' -use-merge-message-version: true +merge-message-version: Enabled ignore: sha: [] commits-before: yyyy-MM-ddTHH:mm:ss - regex: 'ignoreMatch' + merge-message: '' ``` And the description of the available options are: @@ -156,7 +156,7 @@ details on the syntax. Default set to `Enabled`; set to `Disabled` to disable. ### commit-date-format Sets the format which will be used to format the `CommitDate` output variable. -#### use-merge-message-version +#### merge-message-version This configuration can be used to disable merge message version detection, where the version is infered from the commit message. @@ -186,7 +186,7 @@ Date and time in the format `yyyy-MM-ddTHH:mm:ss` (eg `commits-before: 2015-10-23T12:23:15`) to setup an exclusion range. Effectively any commit before `commits-before` will be ignored. -#### regex +#### merge-message The regex to match commit messages that will be ignored. Useful to exclude for example pull request from an automatic nuget updater. diff --git a/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt b/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt index b6c9c2f2be..920cc6ecbd 100644 --- a/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt +++ b/src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt @@ -11,7 +11,7 @@ legacy-semver-padding: 4 build-metadata-padding: 4 commits-since-version-source-padding: 4 commit-message-incrementing: Enabled -use-merge-message-version: true +merge-message-version: Enabled branches: develop: mode: ContinuousDeployment diff --git a/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs b/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs index 0ad127aae4..a1e33709e6 100644 --- a/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs +++ b/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs @@ -34,7 +34,7 @@ public TestEffectiveConfiguration( bool tracksReleaseBranches = false, bool isRelease = false, string commitDateFormat = "yyyy-MM-dd", - bool useMergeMessageVersion = true) : + bool mergeMessageVersion = true) : base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, diff --git a/src/GitVersionCore/Configuration/BranchConfig.cs b/src/GitVersionCore/Configuration/BranchConfig.cs index c0e717adae..12ec932922 100644 --- a/src/GitVersionCore/Configuration/BranchConfig.cs +++ b/src/GitVersionCore/Configuration/BranchConfig.cs @@ -1,4 +1,4 @@ -namespace GitVersion +namespace GitVersion { using System.Collections.Generic; using YamlDotNet.Serialization; @@ -54,8 +54,8 @@ public BranchConfig(BranchConfig branchConfiguration) [YamlMember(Alias = "commit-message-incrementing")] public CommitMessageIncrementMode? CommitMessageIncrementing { get; set; } - [YamlMember(Alias = "regex")] - public string Regex { get; set; } + [YamlMember(Alias = "merge-message")] + public string MergeMessage { get; set; } [YamlMember(Alias = "source-branches")] public List SourceBranches { get; set; } diff --git a/src/GitVersionCore/Configuration/Config.cs b/src/GitVersionCore/Configuration/Config.cs index 3678128909..6b4d59434f 100644 --- a/src/GitVersionCore/Configuration/Config.cs +++ b/src/GitVersionCore/Configuration/Config.cs @@ -79,8 +79,8 @@ public string NextVersion [YamlMember(Alias = "commit-message-incrementing")] public CommitMessageIncrementMode? CommitMessageIncrementing { get; set; } - [YamlMember(Alias = "use-merge-message-version")] - public bool? UseMergeMessageVersion { get; set; } + [YamlMember(Alias = "merge-message-version")] + public bool? MergeMessageVersion { get; set; } [YamlMember(Alias = "branches")] public Dictionary Branches diff --git a/src/GitVersionCore/Configuration/ConfigurationProvider.cs b/src/GitVersionCore/Configuration/ConfigurationProvider.cs index aea89cc10c..18e44d6fb7 100644 --- a/src/GitVersionCore/Configuration/ConfigurationProvider.cs +++ b/src/GitVersionCore/Configuration/ConfigurationProvider.cs @@ -102,7 +102,7 @@ public static void ApplyDefaultsTo(Config config) config.BuildMetaDataPadding = config.BuildMetaDataPadding ?? 4; config.CommitsSinceVersionSourcePadding = config.CommitsSinceVersionSourcePadding ?? 4; config.CommitDateFormat = config.CommitDateFormat ?? "yyyy-MM-dd"; - config.UseMergeMessageVersion = config.UseMergeMessageVersion ?? true; + config.MergeMessageVersion = config.MergeMessageVersion ?? true; var configBranches = config.Branches.ToList(); diff --git a/src/GitVersionCore/Configuration/IgnoreConfig.cs b/src/GitVersionCore/Configuration/IgnoreConfig.cs index ad60e236b4..3779de05d1 100644 --- a/src/GitVersionCore/Configuration/IgnoreConfig.cs +++ b/src/GitVersionCore/Configuration/IgnoreConfig.cs @@ -19,14 +19,14 @@ public IgnoreConfig() [YamlMember(Alias = "sha")] public IEnumerable SHAs { get; set; } - [YamlMember(Alias = "regex")] - public string Regex { get; set; } + [YamlMember(Alias = "merge-message")] + public string MergeMessage { get; set; } public virtual IEnumerable ToFilters() { if (SHAs.Any()) yield return new ShaVersionFilter(SHAs); if (Before.HasValue) yield return new MinDateVersionFilter(Before.Value); - if (!string.IsNullOrWhiteSpace(Regex)) yield return new MessageFilter(Regex); + if (!string.IsNullOrWhiteSpace(MergeMessage)) yield return new MessageFilter(MergeMessage); } } } diff --git a/src/GitVersionCore/EffectiveConfiguration.cs b/src/GitVersionCore/EffectiveConfiguration.cs index fa6c25433e..e874c52ce6 100644 --- a/src/GitVersionCore/EffectiveConfiguration.cs +++ b/src/GitVersionCore/EffectiveConfiguration.cs @@ -62,7 +62,7 @@ public EffectiveConfiguration( TracksReleaseBranches = tracksReleaseBranches; IsCurrentBranchRelease = isCurrentBranchRelease; CommitDateFormat = commitDateFormat; - UseMergeMessageVersion = useMergeMessageVersion; + mergeMessageVersion = useMergeMessageVersion; } public bool TracksReleaseBranches { get; private set; } @@ -118,6 +118,6 @@ public EffectiveConfiguration( public string CommitDateFormat { get; private set; } - public bool UseMergeMessageVersion { get; private set; } + public bool MergeMessageVersion { get; private set; } } } diff --git a/src/GitVersionCore/GitVersionContext.cs b/src/GitVersionCore/GitVersionContext.cs index fcedcc4dbc..e1a899d31a 100644 --- a/src/GitVersionCore/GitVersionContext.cs +++ b/src/GitVersionCore/GitVersionContext.cs @@ -132,7 +132,7 @@ void CalculateEffectiveConfiguration() var patchMessage = FullConfiguration.PatchVersionBumpMessage; var noBumpMessage = FullConfiguration.NoBumpMessage; var commitDateFormat = FullConfiguration.CommitDateFormat; - var useMergeMessageVersion = FullConfiguration.UseMergeMessageVersion.Value; + var mergeMessageVersion = FullConfiguration.UseMergeMessageVersion.Value; var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? FullConfiguration.CommitMessageIncrementing.Value; Configuration = new EffectiveConfiguration( diff --git a/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs b/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs index 7d2452b458..a0f89cff13 100644 --- a/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs +++ b/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs @@ -34,7 +34,7 @@ public TestEffectiveConfiguration( bool tracksReleaseBranches = false, bool isRelease = false, string commitDateFormat = "yyyy-MM-dd", - bool useMergeMessageVersion = true) : + bool mergeMessageVersion = true) : base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, diff --git a/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs b/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs index 0ad127aae4..a1e33709e6 100644 --- a/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs +++ b/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs @@ -34,7 +34,7 @@ public TestEffectiveConfiguration( bool tracksReleaseBranches = false, bool isRelease = false, string commitDateFormat = "yyyy-MM-dd", - bool useMergeMessageVersion = true) : + bool mergeMessageVersion = true) : base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, From 78a81fb93ecf48e6447f20b74e06492d23e79ef1 Mon Sep 17 00:00:00 2001 From: Konrad Mattheis Date: Sat, 23 Feb 2019 08:31:56 +0100 Subject: [PATCH 8/8] fix build --- src/GitVersionCore.Tests/TestEffectiveConfiguration.cs | 2 +- src/GitVersionCore/EffectiveConfiguration.cs | 4 ++-- src/GitVersionCore/GitVersionContext.cs | 8 ++++---- .../MergeMessageBaseVersionStrategy.cs | 2 +- src/GitVersionExe.Tests/TestEffectiveConfiguration.cs | 2 +- .../Helpers/TestEffectiveConfiguration.cs | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs b/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs index a1e33709e6..0f77943375 100644 --- a/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs +++ b/src/GitVersionCore.Tests/TestEffectiveConfiguration.cs @@ -41,7 +41,7 @@ public TestEffectiveConfiguration( majorMessage, minorMessage, patchMessage, noBumpMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding, versionFilters ?? Enumerable.Empty(), - tracksReleaseBranches, isRelease, commitDateFormat, useMergeMessageVersion) + tracksReleaseBranches, isRelease, commitDateFormat, mergeMessageVersion) { } } diff --git a/src/GitVersionCore/EffectiveConfiguration.cs b/src/GitVersionCore/EffectiveConfiguration.cs index e874c52ce6..1b703b605e 100644 --- a/src/GitVersionCore/EffectiveConfiguration.cs +++ b/src/GitVersionCore/EffectiveConfiguration.cs @@ -33,7 +33,7 @@ public EffectiveConfiguration( bool tracksReleaseBranches, bool isCurrentBranchRelease, string commitDateFormat, - bool useMergeMessageVersion) + bool mergeMessageVersion) { AssemblyVersioningScheme = assemblyVersioningScheme; AssemblyFileVersioningScheme = assemblyFileVersioningScheme; @@ -62,7 +62,7 @@ public EffectiveConfiguration( TracksReleaseBranches = tracksReleaseBranches; IsCurrentBranchRelease = isCurrentBranchRelease; CommitDateFormat = commitDateFormat; - mergeMessageVersion = useMergeMessageVersion; + MergeMessageVersion = mergeMessageVersion; } public bool TracksReleaseBranches { get; private set; } diff --git a/src/GitVersionCore/GitVersionContext.cs b/src/GitVersionCore/GitVersionContext.cs index e1a899d31a..72370e3552 100644 --- a/src/GitVersionCore/GitVersionContext.cs +++ b/src/GitVersionCore/GitVersionContext.cs @@ -110,8 +110,8 @@ void CalculateEffectiveConfiguration() throw new Exception("Configuration value for 'BuildMetaDataPadding' has no value. (this should not happen, please report an issue)"); if (!FullConfiguration.CommitsSinceVersionSourcePadding.HasValue) throw new Exception("Configuration value for 'CommitsSinceVersionSourcePadding' has no value. (this should not happen, please report an issue)"); - if (!FullConfiguration.UseMergeMessageVersion.HasValue) - throw new Exception("Configuration value for 'UseMergeMessageVersion' has no value. (this should not happen, please report an issue)"); + if (!FullConfiguration.MergeMessageVersion.HasValue) + throw new Exception("Configuration value for 'MergeMessageVersion' has no value. (this should not happen, please report an issue)"); var versioningMode = currentBranchConfig.VersioningMode.Value; var tag = currentBranchConfig.Tag; @@ -132,7 +132,7 @@ void CalculateEffectiveConfiguration() var patchMessage = FullConfiguration.PatchVersionBumpMessage; var noBumpMessage = FullConfiguration.NoBumpMessage; var commitDateFormat = FullConfiguration.CommitDateFormat; - var mergeMessageVersion = FullConfiguration.UseMergeMessageVersion.Value; + var mergeMessageVersion = FullConfiguration.MergeMessageVersion.Value; var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? FullConfiguration.CommitMessageIncrementing.Value; Configuration = new EffectiveConfiguration( @@ -151,7 +151,7 @@ void CalculateEffectiveConfiguration() currentBranchConfig.TracksReleaseBranches.Value, currentBranchConfig.IsReleaseBranch.Value, commitDateFormat, - useMergeMessageVersion); + mergeMessageVersion); } private static Branch GetTargetBranch(IRepository repository, string targetBranch) diff --git a/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs b/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs index bf8b8542f6..48d24f13f1 100644 --- a/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs +++ b/src/GitVersionCore/VersionCalculation/BaseVersionCalculators/MergeMessageBaseVersionStrategy.cs @@ -14,7 +14,7 @@ public class MergeMessageBaseVersionStrategy : BaseVersionStrategy { public override IEnumerable GetVersions(GitVersionContext context) { - if (!context.Configuration.UseMergeMessageVersion) + if (!context.Configuration.MergeMessageVersion) { return Enumerable.Empty(); } diff --git a/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs b/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs index a0f89cff13..98a4d1e061 100644 --- a/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs +++ b/src/GitVersionExe.Tests/TestEffectiveConfiguration.cs @@ -41,7 +41,7 @@ public TestEffectiveConfiguration( majorMessage, minorMessage, patchMessage, noBumpMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding, versionFilters ?? Enumerable.Empty(), - tracksReleaseBranches, isRelease, commitDateFormat, useMergeMessageVersion) + tracksReleaseBranches, isRelease, commitDateFormat, mergeMessageVersion) { } diff --git a/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs b/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs index a1e33709e6..0f77943375 100644 --- a/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs +++ b/src/GitVersionTask.Tests/Helpers/TestEffectiveConfiguration.cs @@ -41,7 +41,7 @@ public TestEffectiveConfiguration( majorMessage, minorMessage, patchMessage, noBumpMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding, versionFilters ?? Enumerable.Empty(), - tracksReleaseBranches, isRelease, commitDateFormat, useMergeMessageVersion) + tracksReleaseBranches, isRelease, commitDateFormat, mergeMessageVersion) { } }