IDEA-188501 vcs: "Rollback Changes" dialog should not revert excluded files

This commit is contained in:
Aleksey Pivovarov
2018-03-19 15:13:01 +03:00
parent dc78264354
commit 421bebc9f3
@@ -29,6 +29,7 @@ import com.intellij.ui.treeStructure.Tree;
import com.intellij.ui.treeStructure.actions.CollapseAllAction;
import com.intellij.ui.treeStructure.actions.ExpandAllAction;
import com.intellij.util.ObjectUtils;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.ThreeStateCheckBox;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.tree.TreeUtil;
@@ -67,7 +68,8 @@ public abstract class ChangesTree extends Tree implements DataProvider {
@NotNull private final ChangesGroupingSupport myGroupingSupport;
private boolean myIsModelFlat;
@NotNull private Set<Object> myIncludedChanges = new THashSet<>();
@NotNull private TObjectHashingStrategy<Object> myInclusionHashingStrategy = ContainerUtil.canonicalStrategy();
@NotNull private Set<Object> myIncludedChanges = new THashSet<>(myInclusionHashingStrategy);
@NotNull private Runnable myDoubleClickHandler = EmptyRunnable.getInstance();
private boolean myKeepTreeState = false;
@@ -385,6 +387,7 @@ public abstract class ChangesTree extends Tree implements DataProvider {
public void setInclusionHashingStrategy(@NotNull TObjectHashingStrategy<Object> strategy) {
myInclusionHashingStrategy = strategy;
Set<Object> oldInclusion = myIncludedChanges;
myIncludedChanges = new THashSet<>(strategy);
myIncludedChanges.addAll(oldInclusion);
@@ -446,7 +449,7 @@ public abstract class ChangesTree extends Tree implements DataProvider {
@NotNull
public Set<Object> getIncludedSet() {
return new HashSet<>(myIncludedChanges);
return new THashSet<>(myIncludedChanges, myInclusionHashingStrategy);
}
public void expandAll() {