mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] filter with vcs only roots that are not indexed
Check whether it is necessary to filter with vcs at all, and if it is, provide a root filter only with not indexed roots.
This commit is contained in:
@@ -89,9 +89,11 @@ class VcsLogFiltererImpl(private val logProviders: Map<VirtualFile, VcsLogProvid
|
||||
|
||||
val filteredWithIndex: Set<Int>? = if (rootsForIndex.isNotEmpty()) dataGetter?.filter(detailsFilters) else null
|
||||
|
||||
val headsForVcs = if (rootsForVcs.containsAll(visibleRoots)) matchingHeads
|
||||
else getMatchingHeads(dataPack.refsModel, rootsForVcs, filters)
|
||||
val filteredWithVcs = filterWithVcs(dataPack.permanentGraph, filters, detailsFilters, headsForVcs, commitCount)
|
||||
if (rootsForVcs.isEmpty()) return FilterByDetailsResult(filteredWithIndex, false, commitCount)
|
||||
val filterAllWithVcs = rootsForVcs.containsAll(visibleRoots)
|
||||
val filtersForVcs = if (filterAllWithVcs) filters else filters.with(VcsLogFilterObject.fromRoots(rootsForVcs))
|
||||
val headsForVcs = if (filterAllWithVcs) matchingHeads else getMatchingHeads(dataPack.refsModel, rootsForVcs, filtersForVcs)
|
||||
val filteredWithVcs = filterWithVcs(dataPack.permanentGraph, filtersForVcs, detailsFilters, headsForVcs, commitCount)
|
||||
|
||||
val filteredCommits: Set<Int>? = union(filteredWithIndex, filteredWithVcs.matchingCommits)
|
||||
return FilterByDetailsResult(filteredCommits, filteredWithVcs.canRequestMore, filteredWithVcs.commitCount)
|
||||
|
||||
Reference in New Issue
Block a user