mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[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.
This commit is contained in:
@@ -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<String, Change> myOtherLayers;
|
||||
// if null, vcs's is used. intended: for property conflict case
|
||||
private Getter<MergeTexts> 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<MergeTexts> getMergeProvider() {
|
||||
return myMergeProvider;
|
||||
}
|
||||
|
||||
public void setMergeProvider(Getter<MergeTexts> mergeProvider) {
|
||||
myMergeProvider = mergeProvider;
|
||||
}
|
||||
|
||||
public void addAdditionalLayerElement(final String name, final Change change) {
|
||||
myOtherLayers.put(name, change);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
+26
-45
@@ -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<MergeTexts> 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user