Skip to content

Commit bfd1bbf

Browse files
fix: consider only non-filtered commits for the max number of commits by project
1 parent a24db8f commit bfd1bbf

2 files changed

Lines changed: 13 additions & 11 deletions

File tree

src/main/app/MiningWorker.groovy

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package app
22

3+
import java.util.Collections
4+
import java.util.Random
35
import java.text.SimpleDateFormat
46

57
import static app.MiningFramework.arguments
@@ -39,19 +41,23 @@ class MiningWorker implements Runnable {
3941
checkForUnstagedChanges(project);
4042
}
4143

42-
def (mergeCommits, skipped) = project.getMergeCommits(
43-
arguments.getSinceDate(),
44-
arguments.getUntilDate(),
45-
arguments.getMaxCommitsPerProject(),
46-
arguments.getRandomSeed()
47-
)
44+
def (mergeCommits, skipped) = project.getMergeCommits(arguments.getSinceDate(), arguments.getUntilDate())
4845

46+
Random random = new Random(arguments.getRandomSeed())
47+
Collections.shuffle(mergeCommits, random)
48+
49+
int collectedMergeCommits = 0
4950
for (mergeCommit in mergeCommits) {
51+
if (collectedMergeCommits >= arguments.getMaxCommitsPerProject()) {
52+
break
53+
}
54+
5055
try {
5156
if (commitFilter.applyFilter(project, mergeCommit)) {
5257
println "${project.getName()} - Merge commit: ${mergeCommit.getSHA()}"
5358

5459
runDataCollectors(project, mergeCommit)
60+
collectedMergeCommits++
5561
}
5662
} catch (Exception e) {
5763
println "${project.getName()} - ${mergeCommit.getSHA()} - ERROR"

src/main/project/Project.groovy

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class Project {
4242
return matcher.find()
4343
}
4444

45-
List getMergeCommits(String sinceDate, String untilDate, int maxCommitsPerProject, int randomSeed) {
45+
List getMergeCommits(String sinceDate, String untilDate) {
4646
ArrayList<String> skipped = new ArrayList<String>()
4747
ArrayList<MergeCommit> mergeCommits = new ArrayList<MergeCommit>()
4848

@@ -74,10 +74,6 @@ class Project {
7474
if(mergeCommits.isEmpty())
7575
println "No merge commits."
7676

77-
Random random = new Random(randomSeed)
78-
Collections.shuffle(mergeCommits, random)
79-
mergeCommits = mergeCommits.take(maxCommitsPerProject)
80-
8177
return [mergeCommits, skipped]
8278
}
8379

0 commit comments

Comments
 (0)