mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
svn: Refactored "BaseMergeTask" - renames, warnings fixed
This commit is contained in:
@@ -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() {
|
||||
|
||||
+6
-2
@@ -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() {
|
||||
|
||||
+2
-2
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user