in src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatistics.scala [88:104]
def forCommits(commits: ObjectId*): Iterable[CommitsStatistics] = {
val stats = commits.map(commitStatsCache.get(projectNameKey.get(), _))
val (mergeStatsSeq, nonMergeStatsSeq) = stats.partition(_.isForMergeCommits)
val (mergeBotStatsSeq, mergeNonBotStatsSeq) = mergeStatsSeq.partition(_.isForBotLike)
val (nonMergeBotStatsSeq, nonMergeNonBotStatsSeq) = nonMergeStatsSeq.partition(_.isForBotLike)
List(
nonMergeNonBotStatsSeq.foldLeft(CommitsStatistics.EmptyNonMerge)(_ + _), // Non Merge - Non Bot
mergeNonBotStatsSeq.foldLeft(CommitsStatistics.EmptyMerge)(_ + _), // Merge - Non Bot
nonMergeBotStatsSeq.foldLeft(CommitsStatistics.EmptyBotNonMerge)(_ + _), // Non Merge - Bot
mergeBotStatsSeq.foldLeft(CommitsStatistics.EmptyBotMerge)(_ + _) // Merge - Bot
)
.filterNot(_.isEmpty)
}