vcs-log: don't filter by the range filter in memory for simplicity

Especially, to support range filters not known to the VCS Log engine, but known to particular VCS Log Providers.

This finalizes the fix for IDEA-216785.

GitOrigin-RevId: 36ad1b3a882667cde784ce693bd9831435535637
This commit is contained in:
Kirill Likhodedov
2019-07-02 06:52:16 +03:00
committed by intellij-monorepo-bot
parent 09a094cb93
commit bcb2899403
@@ -279,9 +279,11 @@ class VcsLogFiltererImpl(private val logProviders: Map<VirtualFile, VcsLogProvid
commitCandidates: TIntHashSet?): FilterByDetailsResult {
var commitCountToTry = commitCount
if (commitCountToTry == CommitCountStage.INITIAL) {
val commitsFromMemory = filterDetailsInMemory(graph, filters.detailsFilters, matchingHeads, commitCandidates).toCommitIndexes()
if (commitsFromMemory.size >= commitCountToTry.count) {
return FilterByDetailsResult(commitsFromMemory, true, commitCountToTry)
if (filters.get(VcsLogFilterCollection.RANGE_FILTER) == null) { // not filtering in memory by range for simplicity
val commitsFromMemory = filterDetailsInMemory(graph, filters.detailsFilters, matchingHeads, commitCandidates).toCommitIndexes()
if (commitsFromMemory.size >= commitCountToTry.count) {
return FilterByDetailsResult(commitsFromMemory, true, commitCountToTry)
}
}
commitCountToTry = commitCountToTry.next()
}