svn: Refactored "BaseMergeTask" - renames, warnings fixed

This commit is contained in:
Konstantin Kolosovsky
2016-11-09 23:53:59 +03:00
parent fa04e891a8
commit 329f4631fe
4 changed files with 16 additions and 13 deletions
@@ -28,7 +28,6 @@ import org.jetbrains.idea.svn.history.SvnChangeList;
import java.util.List;
import static com.intellij.openapi.application.ApplicationManager.getApplication;
import static com.intellij.util.containers.ContainerUtil.ar;
import static java.util.Collections.singletonList;
import static org.jetbrains.idea.svn.WorkingCopyFormat.ONE_DOT_EIGHT;
@@ -80,8 +79,7 @@ public abstract class BaseMergeTask extends TaskDescriptor {
myRunner.ping();
}
@NotNull
protected TaskDescriptor[] getMergeAllTasks(boolean supportsMergeInfo) {
protected void mergeAll(boolean supportsMergeInfo) {
// merge info is not supported - branch copy point is used to make first sync merge successful (without unnecessary tree conflicts)
// merge info is supported and svn client < 1.8 - branch copy point is used to determine if sync or reintegrate merge should be performed
// merge info is supported and svn client >= 1.8 - branch copy point is not used - svn automatically detects if reintegrate is necessary
@@ -91,12 +89,13 @@ public abstract class BaseMergeTask extends TaskDescriptor {
: new LookForBranchOriginTask(myMergeProcess, true, copyPoint ->
next(new MergeAllWithBranchCopyPointTask(myMergeProcess, copyPoint, supportsMergeInfo)));
return ar(new LocalChangesPromptTask(myMergeProcess, null), mergeAllTask);
next(new LocalChangesPromptTask(myMergeProcess, null), mergeAllTask);
}
protected void runChangeListsMerge(@NotNull List<SvnChangeList> lists, @NotNull String title) {
next(new LocalChangesPromptTask(myMergeProcess, lists),
new MergeTask(myMergeProcess, new ChangeListsMergerFactory(lists, false, false, true), title));
protected void merge(@NotNull List<SvnChangeList> lists) {
ChangeListsMergerFactory mergerFactory = new ChangeListsMergerFactory(lists, false, false, true);
next(new LocalChangesPromptTask(myMergeProcess, lists), new MergeTask(myMergeProcess, mergerFactory, myMergeContext.getTitle()));
}
protected void end() {
@@ -18,7 +18,6 @@ package org.jetbrains.idea.svn.integrate;
import com.intellij.util.continuation.Where;
import org.jetbrains.annotations.NotNull;
import static com.intellij.util.containers.ContainerUtil.ar;
import static org.jetbrains.idea.svn.SvnUtil.checkRepositoryVersion15;
public class CheckRepositorySupportsMergeInfoTask extends BaseMergeTask {
@@ -29,7 +28,12 @@ public class CheckRepositorySupportsMergeInfoTask extends BaseMergeTask {
@Override
public void run() {
next(supportsMergeInfo() ? ar(new MergeAllOrSelectedChooserTask(myMergeProcess)) : getMergeAllTasks(false));
if (supportsMergeInfo()) {
next(new MergeAllOrSelectedChooserTask(myMergeProcess));
}
else {
mergeAll(false);
}
}
private boolean supportsMergeInfo() {
@@ -26,10 +26,9 @@ public class MergeAllOrSelectedChooserTask extends BaseMergeTask {
@Override
public void run() {
//noinspection EnumSwitchStatementWhichMissesCases
switch (myInteraction.selectMergeVariant()) {
case all:
next(getMergeAllTasks(true));
mergeAll(true);
break;
case showLatest:
next(new MergeCalculatorTask(myMergeProcess, task ->
@@ -39,6 +38,7 @@ public class MergeAllOrSelectedChooserTask extends BaseMergeTask {
next(new LookForBranchOriginTask(myMergeProcess, false, copyPoint ->
next(new MergeCalculatorTask(myMergeProcess, copyPoint, task ->
next(new ShowRevisionSelector(myMergeProcess, task.getChangeLists(), task.getMergeChecker(), true, true))))));
case cancel:
break;
}
}
@@ -52,13 +52,13 @@ public class ShowRevisionSelector extends BaseMergeTask {
end();
break;
case all:
next(getMergeAllTasks(true));
mergeAll(true);
break;
default:
List<SvnChangeList> lists = result.getSelectedLists();
if (!lists.isEmpty()) {
runChangeListsMerge(lists, myMergeContext.getTitle());
merge(lists);
}
break;
}