From aef2d04065dc09e1e4b85bdaf0a4b30baf8ac221 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Fri, 27 Jan 2017 18:17:50 +0300 Subject: [PATCH] [vcs-log] use ChangesUtil to retrieve vcs for selected changes --- .../committed/RepositoryChangesBrowser.java | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/RepositoryChangesBrowser.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/RepositoryChangesBrowser.java index 2835fc3f8faf..e48a331c0800 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/RepositoryChangesBrowser.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/RepositoryChangesBrowser.java @@ -22,12 +22,10 @@ import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.AbstractVcs; -import com.intellij.openapi.vcs.FilePath; import com.intellij.openapi.vcs.VcsDataKeys; -import com.intellij.openapi.vcs.VcsKey; import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vcs.changes.ChangeList; -import com.intellij.openapi.vcs.changes.ContentRevision; +import com.intellij.openapi.vcs.changes.ChangesUtil; import com.intellij.openapi.vcs.changes.actions.OpenRepositoryVersionAction; import com.intellij.openapi.vcs.changes.actions.RevertSelectedChangesAction; import com.intellij.openapi.vcs.changes.actions.ShowDiffWithLocalAction; @@ -37,7 +35,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.pom.Navigatable; import com.intellij.util.ObjectUtils; import com.intellij.util.containers.ContainerUtil; -import com.intellij.vcsUtil.VcsUtil; import org.jetbrains.annotations.NonNls; import javax.swing.*; @@ -108,14 +105,8 @@ public class RepositoryChangesBrowser extends ChangesBrowser implements DataProv return (highestSelection == null) ? new Change[]{} : new Change[]{highestSelection}; } else if (VcsDataKeys.VCS.is(dataId)) { - Set abstractVcs = ContainerUtil.newHashSet(ContainerUtil.mapNotNull(myViewer.getSelectedChanges(), change -> { - ContentRevision revision = change.getAfterRevision(); - if (revision == null) revision = change.getBeforeRevision(); - FilePath affectedFile = ObjectUtils.assertNotNull(revision).getFile(); - AbstractVcs vcs = VcsUtil.getVcsFor(myProject, affectedFile); - return vcs == null ? null : vcs.getKeyInstanceMethod(); - })); - if (abstractVcs.size() == 1) return ContainerUtil.getFirstItem(abstractVcs); + Set abstractVcs = ChangesUtil.getAffectedVcses(myViewer.getSelectedChanges(), myProject); + if (abstractVcs.size() == 1) return ObjectUtils.assertNotNull(ContainerUtil.getFirstItem(abstractVcs)).getKeyInstanceMethod(); return null; } else {