Skip to content

[ISSUE]: System.ArgumentOutOfRangeException when IncrementStrategy is Inherit #4554

@jochenjonc

Description

@jochenjonc

Prerequisites

  • I have written a descriptive issue title
  • I have searched issues to ensure it has not already been reported

GitVersion package

GitVersion.Tool

GitVersion version

6.3.0

Operating system

N/A

What are you seeing?

Sometimes, pull request builds fail for GitVersion with the following exception:

System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. (Parameter 'strategy')
Actual value was Inherit.

What is expected?

GetEffectiveConfiguration should keep looking for a parent branch configuration as long as the IncrementStrategy of the branch is Inherit.

https://github.com/GitTools/GitVersion/blob/main/src/GitVersion.Core/Extensions/ConfigurationExtensions.cs#L19-L29 #

Steps to Reproduce

I think it happens when we merge one feature branch into another feature branch.

RepositoryFixture Test

No response

Output log or link to your CI build (if appropriate).

INFO [25-05-23 6:16:20:45] -< Begin: Finding branches source of 'master' >-
      INFO [25-05-23 6:16:20:45] -< End: Finding branches source of 'master' (Took: 0.96ms) >-
    INFO [25-05-23 6:16:20:45] -< End: [Using 'MainlineVersionStrategy' strategy] (Took: 3,545.25ms) >-
  INFO [25-05-23 6:16:20:45] -< End: Calculating base versions for 'master' (Took: 3,546.38ms) >-
INFO [25-05-23 6:16:20:45] -< End: Fetching the base versions for version calculation... (Took: 12,454.67ms) >-
ERROR [25-05-23 6:16:20:61] An unexpected error occurred:
System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. (Parameter 'strategy')
Actual value was Inherit.
   at GitVersion.Extensions.IncrementStrategyExtensions.ToVersionField(IncrementStrategy strategy) in /_/src/GitVersion.Core/Extensions/IncrementStrategyExtensions.cs:line 11
   at GitVersion.VersionCalculation.Mainline.EnrichIncrement.Enrich(MainlineIteration iteration, MainlineCommit commit, MainlineContext context) in /_/src/GitVersion.Core/VersionCalculation/Mainline/EnrichIncrement.cs:line 13
   at GitVersion.VersionCalculation.MainlineVersionStrategy.GetIncrements(MainlineIteration iteration, String targetLabel, IIncrementStrategyFinder incrementStrategyFinder, IGitVersionConfiguration configuration)+MoveNext() in /_/src/GitVersion.Core/VersionCalculation/VersionSearchStrategies/MainlineVersionStrategy.cs:line 360
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
   at GitVersion.VersionCalculation.MainlineVersionStrategy.DetermineBaseVersionRecursive(MainlineIteration iteration, String targetLabel, IIncrementStrategyFinder incrementStrategyFinder, IGitVersionConfiguration configuration) in /_/src/GitVersion.Core/VersionCalculation/VersionSearchStrategies/MainlineVersionStrategy.cs:line 328
   at GitVersion.VersionCalculation.MainlineVersionStrategy.DetermineBaseVersion(MainlineIteration iteration, String targetLabel, IIncrementStrategyFinder incrementStrategyFinder, IGitVersionConfiguration configuration) in /_/src/GitVersion.Core/VersionCalculation/VersionSearchStrategies/MainlineVersionStrategy.cs:line 321
   at GitVersion.VersionCalculation.MainlineVersionStrategy.GetBaseVersions(EffectiveBranchConfiguration configuration)+MoveNext() in /_/src/GitVersion.Core/VersionCalculation/VersionSearchStrategies/MainlineVersionStrategy.cs:line 113
   at GitVersion.VersionCalculation.NextVersionCalculator.<>c__DisplayClass14_0.<<GetNextVersions>g__GetNextVersionsInternal|0>d.MoveNext() in /_/src/GitVersion.Core/VersionCalculation/VersionCalculators/NextVersionCalculator.cs:line 262
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at GitVersion.VersionCalculation.NextVersionCalculator.GetNextVersions(IBranch branch, IGitVersionConfiguration configuration) in /_/src/GitVersion.Core/VersionCalculation/VersionCalculators/NextVersionCalculator.cs:line 237
   at GitVersion.VersionCalculation.NextVersionCalculator.CalculateNextVersion(IBranch branch, IGitVersionConfiguration configuration) in /_/src/GitVersion.Core/VersionCalculation/VersionCalculators/NextVersionCalculator.cs:line 156
   at GitVersion.VersionCalculation.NextVersionCalculator.FindVersion() in /_/src/GitVersion.Core/VersionCalculation/VersionCalculators/NextVersionCalculator.cs:line 53
   at GitVersion.GitVersionCalculateTool.CalculateVersionVariables() in /_/src/GitVersion.Core/Core/GitVersionCalculateTool.cs:line 45
   at GitVersion.GitVersionExecutor.RunGitVersionTool(GitVersionOptions gitVersionOptions) in /_/src/GitVersion.App/GitVersionExecutor.cs:line 69
INFO [25-05-23 6:16:20:61] Please run `git log --graph --format="%h %cr %d" --decorate --date=relative --all --remotes=*` to see the git graph. This can help you troubleshoot any issues.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions