From bcb289940397daabf1b70d097b60e07fe0b14626 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sat, 22 Jun 2019 16:21:29 +0100 Subject: [PATCH] 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 --- .../com/intellij/vcs/log/visible/VcsLogFiltererImpl.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/visible/VcsLogFiltererImpl.kt b/platform/vcs-log/impl/src/com/intellij/vcs/log/visible/VcsLogFiltererImpl.kt index b608d9632941..bfcfb8d1a53f 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/visible/VcsLogFiltererImpl.kt +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/visible/VcsLogFiltererImpl.kt @@ -279,9 +279,11 @@ class VcsLogFiltererImpl(private val logProviders: Map= 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() }