diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/IndexDataGetter.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/IndexDataGetter.java index 74b49f4c9d45..8c987275c077 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/IndexDataGetter.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/index/IndexDataGetter.java @@ -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)myIndexStorage.messages).processKeysWithExistingMapping(processor); - } - else { - myIndexStorage.messages.processKeys(processor); - } + myIndexStorage.commits.process(processor); return result; }, result); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSet.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSet.java index 4ca9a3ca4b1d..edc4e785ef09 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSet.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSet.java @@ -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 { void put(@NotNull T element) throws IOException; + void process(@NotNull Processor processor) throws IOException; + void flush(); void markCorrupted(); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSetImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSetImpl.java index a1d9f7078bcb..d81b4ce75178 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSetImpl.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/util/PersistentSetImpl.java @@ -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 extends PersistentBTreeEnumerator implement enumerate(element); } + @Override + public void process(@NotNull Processor processor) throws IOException { + processAllDataObject(processor, null); + } + @Override public void flush() { force();