Skip to content

Commit cfcaa82

Browse files
committed
Break out of infinite loops when inheriting.
1 parent 6f46c67 commit cfcaa82

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/GitVersionCore/BranchConfigurationCalculator.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,16 @@ static BranchConfig InheritBranchConfiguration(bool onlyEvaluateTrackedBranches,
145145
var branchName = chosenBranch.FriendlyName;
146146
Logger.WriteWarning(errorMessage + Environment.NewLine + Environment.NewLine + "Falling back to " + branchName + " branch config");
147147

148+
// To prevent infinite loops, make sure that a new branch was chosen.
149+
if (LibGitExtensions.IsSameBranch(currentBranch, chosenBranch))
150+
{
151+
Logger.WriteWarning("Fallback branch wants to inherit Increment branch configuration from itself. Using patch increment instead.");
152+
return new BranchConfig(branchConfiguration)
153+
{
154+
Increment = IncrementStrategy.Patch
155+
};
156+
}
157+
148158
var inheritingBranchConfig = GetBranchConfiguration(currentCommit, repository, onlyEvaluateTrackedBranches, config, chosenBranch, excludedInheritBranches);
149159
return new BranchConfig(branchConfiguration)
150160
{

0 commit comments

Comments
 (0)