mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] iterate over commits persistent set during filtering by index
Since commits map was introduced in 32e141ef1b, there is no need to use messages map to iterate over all indexed commits.
This commit is contained in:
@@ -25,7 +25,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.indexing.StorageException;
|
||||
import com.intellij.util.io.PersistentHashMap;
|
||||
import com.intellij.util.io.PersistentMap;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogStorage;
|
||||
@@ -234,12 +233,7 @@ public class IndexDataGetter {
|
||||
}
|
||||
return true;
|
||||
};
|
||||
if (myIndexStorage.messages instanceof PersistentHashMap) {
|
||||
((PersistentHashMap<Integer, T>)myIndexStorage.messages).processKeysWithExistingMapping(processor);
|
||||
}
|
||||
else {
|
||||
myIndexStorage.messages.processKeys(processor);
|
||||
}
|
||||
myIndexStorage.commits.process(processor);
|
||||
return result;
|
||||
}, result);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.vcs.log.util;
|
||||
|
||||
import com.intellij.util.Processor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -25,6 +26,8 @@ public interface PersistentSet<T> {
|
||||
|
||||
void put(@NotNull T element) throws IOException;
|
||||
|
||||
void process(@NotNull Processor<T> processor) throws IOException;
|
||||
|
||||
void flush();
|
||||
|
||||
void markCorrupted();
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.vcs.log.util;
|
||||
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.io.KeyDescriptor;
|
||||
import com.intellij.util.io.PagedFileStorage;
|
||||
import com.intellij.util.io.PersistentBTreeEnumerator;
|
||||
@@ -43,6 +44,11 @@ public class PersistentSetImpl<T> extends PersistentBTreeEnumerator<T> implement
|
||||
enumerate(element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(@NotNull Processor<T> processor) throws IOException {
|
||||
processAllDataObject(processor, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flush() {
|
||||
force();
|
||||
|
||||
Reference in New Issue
Block a user