From ba986939760446e1933d857cdd7aad62c5e732a0 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 24 Aug 2017 19:41:29 +0300 Subject: [PATCH] Fix DRYing: not all methods repeat themselves, just 2 of 3 Follow-up to ea9364c --- .../vcs/changes/ChangeListManagerImpl.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java index 3ff0a07d4751..baa1dac090ae 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java @@ -1541,30 +1541,30 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Projec @Override public void modify(BaseRevision was, BaseRevision become) { - doModify(was, become, true); + doModify(was, become); } @Override public void plus(final BaseRevision baseRevision) { - doModify(baseRevision, baseRevision, true); + doModify(baseRevision, baseRevision); } @Override public void minus(final BaseRevision baseRevision) { - doModify(baseRevision, baseRevision, false); - } + myScheduler.submit(() -> { + AbstractVcs vcs = getVcs(baseRevision); + if (vcs != null) { + myRevisionsCache.minus(Pair.create(baseRevision.getPath(), vcs)); + } + BackgroundTaskUtil.syncPublisher(myProject, VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(baseRevision.getPath()); + }); + } - private void doModify(BaseRevision was, BaseRevision become, boolean plus) { + private void doModify(BaseRevision was, BaseRevision become) { myScheduler.submit(() -> { final AbstractVcs vcs = getVcs(was); if (vcs != null) { - Pair pair = Pair.create(was.getPath(), vcs); - if (plus) { - myRevisionsCache.plus(pair); - } - else { - myRevisionsCache.minus(pair); - } + myRevisionsCache.plus(Pair.create(was.getPath(), vcs)); } BackgroundTaskUtil.syncPublisher(myProject, VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(become); });