From a64c74ece6481f88156b66c207a1969be2fcefa0 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 7 Apr 2015 16:04:41 +0300 Subject: [PATCH] [vcs] Remove obsolete Change#get/setMergeProvider They are not used for a long time, and shouldn't be used. Such a deletion is API breakage, but it already happened in new diff anyway, since it doesn't take such merge provider into account. --- .../intellij/openapi/vcs/changes/Change.java | 11 --- .../openapi/vcs/changes/MergeTexts.java | 46 ------------ .../ConflictedDiffRequestPresentable.java | 71 +++++++------------ 3 files changed, 26 insertions(+), 102 deletions(-) delete mode 100644 platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java diff --git a/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java index b1d8978eea68..82c14e6bf48f 100644 --- a/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java @@ -18,7 +18,6 @@ package com.intellij.openapi.vcs.changes; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.util.Getter; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vcs.FilePath; import com.intellij.openapi.vcs.FileStatus; @@ -57,8 +56,6 @@ public class Change { private boolean myIsReplaced; private Type myType; private final Map myOtherLayers; - // if null, vcs's is used. intended: for property conflict case - private Getter myMergeProvider; public Change(@Nullable final ContentRevision beforeRevision, @Nullable final ContentRevision afterRevision) { this(beforeRevision, afterRevision, convertStatus(beforeRevision, afterRevision)); @@ -79,14 +76,6 @@ public class Change { return FileStatus.MODIFIED; } - public Getter getMergeProvider() { - return myMergeProvider; - } - - public void setMergeProvider(Getter mergeProvider) { - myMergeProvider = mergeProvider; - } - public void addAdditionalLayerElement(final String name, final Change change) { myOtherLayers.put(name, change); } diff --git a/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java deleted file mode 100644 index 16ed06a00b41..000000000000 --- a/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/MergeTexts.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2000-2014 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.openapi.vcs.changes; - -/** - * Created with IntelliJ IDEA. - * User: Irina.Chernushina - * Date: 2/14/12 - * Time: 4:31 PM - */ -public class MergeTexts { - private final String myLeft; - private final String myRight; - private final String myBase; - - public MergeTexts(String left, String right, String base) { - myLeft = left; - myRight = right; - myBase = base; - } - - public String getLeft() { - return myLeft; - } - - public String getRight() { - return myRight; - } - - public String getBase() { - return myBase; - } -} diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ConflictedDiffRequestPresentable.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ConflictedDiffRequestPresentable.java index f70c84405c2d..432336aa01cf 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ConflictedDiffRequestPresentable.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ConflictedDiffRequestPresentable.java @@ -22,14 +22,12 @@ import com.intellij.openapi.diff.MergeRequest; import com.intellij.openapi.diff.SimpleDiffRequest; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Getter; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.FilePathImpl; import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vcs.changes.ChangesUtil; -import com.intellij.openapi.vcs.changes.MergeTexts; import com.intellij.openapi.vcs.history.VcsRevisionNumber; import com.intellij.openapi.vcs.merge.MergeData; import com.intellij.openapi.vfs.CharsetToolkit; @@ -60,56 +58,39 @@ public class ConflictedDiffRequestPresentable implements DiffRequestPresentable @Override public MyResult step(DiffChainContext context) { if (myChange.getAfterRevision() == null) return createErrorResult(); - final Getter mergeProvider = myChange.getMergeProvider(); FileType type = myChange.getVirtualFile() != null ? myChange.getVirtualFile().getFileType() : null; - if (mergeProvider != null) { - // guaranteed text - final MergeTexts texts = mergeProvider.get(); - if (texts == null) { + FilePathImpl filePath = new FilePathImpl(myFile); + if (filePath.getFileType().isBinary()) { + final boolean nowItIsText = ChangeDiffRequestPresentable.checkAssociate(myProject, filePath, context); + if (! nowItIsText) { return createErrorResult(); } + } + final AbstractVcs vcs = ChangesUtil.getVcsForChange(myChange, myProject); + if (vcs == null || vcs.getMergeProvider() == null) { + return createErrorResult(); + } + try { + final MergeData mergeData = vcs.getMergeProvider().loadRevisions(myFile); + if (mergeData == null) { + return createErrorResult(); + } + final Charset charset = myFile.getCharset(); final MergeRequest request = DiffRequestFactory.getInstance() - .create3WayDiffRequest(texts.getLeft(), texts.getRight(), texts.getBase(), type, myProject, null, null); + .create3WayDiffRequest(CharsetToolkit.bytesToString(mergeData.CURRENT, charset), + CharsetToolkit.bytesToString(mergeData.LAST, charset), + CharsetToolkit.bytesToString(mergeData.ORIGINAL, charset), + type, myProject, null, null); request.setWindowTitle(FileUtil.toSystemDependentName(myFile.getPresentableUrl())); // todo titles? - request.setVersionTitles(new String[] {myChange.getAfterRevision().getRevisionNumber().asString(), - "Base Version", "Last Revision"}); + VcsRevisionNumber lastRevisionNumber = mergeData.LAST_REVISION_NUMBER; + request.setVersionTitles(new String[]{myChange.getAfterRevision().getRevisionNumber().asString(), + "Base Version", lastRevisionNumber != null ? lastRevisionNumber.asString() : ""}); return new MyResult(request, DiffPresentationReturnValue.useRequest); - - } else { - FilePathImpl filePath = new FilePathImpl(myFile); - if (filePath.getFileType().isBinary()) { - final boolean nowItIsText = ChangeDiffRequestPresentable.checkAssociate(myProject, filePath, context); - if (! nowItIsText) { - return createErrorResult(); - } - } - final AbstractVcs vcs = ChangesUtil.getVcsForChange(myChange, myProject); - if (vcs == null || vcs.getMergeProvider() == null) { - return createErrorResult(); - } - try { - final MergeData mergeData = vcs.getMergeProvider().loadRevisions(myFile); - if (mergeData == null) { - return createErrorResult(); - } - final Charset charset = myFile.getCharset(); - final MergeRequest request = DiffRequestFactory.getInstance() - .create3WayDiffRequest(CharsetToolkit.bytesToString(mergeData.CURRENT, charset), - CharsetToolkit.bytesToString(mergeData.LAST, charset), - CharsetToolkit.bytesToString(mergeData.ORIGINAL, charset), - type, myProject, null, null); - request.setWindowTitle(FileUtil.toSystemDependentName(myFile.getPresentableUrl())); - // todo titles? - VcsRevisionNumber lastRevisionNumber = mergeData.LAST_REVISION_NUMBER; - request.setVersionTitles(new String[]{myChange.getAfterRevision().getRevisionNumber().asString(), - "Base Version", lastRevisionNumber != null ? lastRevisionNumber.asString() : ""}); - return new MyResult(request, DiffPresentationReturnValue.useRequest); - } - catch (VcsException e) { - LOG.info(e); - return createErrorResult(); - } + } + catch (VcsException e) { + LOG.info(e); + return createErrorResult(); } }