Skip to content

Commit 575698c

Browse files
committed
#1046 fix optimization
1 parent 0da2d98 commit 575698c

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/GitVersionCore/GitRepoMetadataProvider.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,22 +133,23 @@ public Commit FindMergeBase(Branch branch, Branch otherBranch)
133133
{
134134
Logger.WriteInfo(string.Format("Found merge base of {0}", findMergeBase.Sha));
135135
// We do not want to include merge base commits which got forward merged into the other branch
136-
bool mergeBaseWasForwardMerge;
136+
Commit mergeBaseAsForwardMerge;
137137
do
138138
{
139139
// Now make sure that the merge base is not a forward merge
140-
mergeBaseWasForwardMerge = otherBranch.Commits
140+
mergeBaseAsForwardMerge = otherBranch.Commits
141141
.SkipWhile(c => c != commitToFindCommonBase)
142142
.TakeWhile(c => c != findMergeBase)
143-
.Any(c => c.Parents.Contains(findMergeBase));
144-
if (mergeBaseWasForwardMerge)
143+
.FirstOrDefault(c => c.Parents.Contains(findMergeBase));
144+
145+
if (mergeBaseAsForwardMerge != null)
145146
{
146-
commitToFindCommonBase = commitToFindCommonBase.Parents.First();
147+
commitToFindCommonBase = mergeBaseAsForwardMerge.Parents.First();
147148
findMergeBase = this.Repository.ObjectDatabase.FindMergeBase(commit, commitToFindCommonBase);
148-
149+
149150
Logger.WriteInfo(string.Format("Merge base was due to a forward merge, next merge base is {0}", findMergeBase));
150151
}
151-
} while (mergeBaseWasForwardMerge);
152+
} while (mergeBaseAsForwardMerge != null);
152153
}
153154

154155
// Store in cache.

0 commit comments

Comments
 (0)