From 6fe1123385fee5a80ba6755cf21a19c2e513cd52 Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Tue, 24 Mar 2015 13:52:34 +0300 Subject: [PATCH] svn: Refactored CmdCheckinClient - code simplified, removed unnecessary code, @NotNull --- .../idea/svn/checkin/CmdCheckinClient.java | 24 +++++++++---------- .../idea/svn/commandLine/CommandUtil.java | 6 ----- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/CmdCheckinClient.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/CmdCheckinClient.java index 34c54fc852c2..6d8aa09cf9e9 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/CmdCheckinClient.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/CmdCheckinClient.java @@ -23,7 +23,6 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.AbstractFilterChildren; import com.intellij.openapi.vcs.VcsException; -import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -40,7 +39,10 @@ import org.jetbrains.idea.svn.status.StatusType; import org.tmatesoft.svn.core.wc2.SvnTarget; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -64,29 +66,26 @@ public class CmdCheckinClient extends BaseSvnClient implements CheckinClient { // there at least some child-parent relationships in passed paths paths = filterCommittables(paths); - return commit(ArrayUtil.toObjectArray(paths, File.class), message); + return runCommit(paths, message); } @NotNull - public CommitInfo[] commit(@NotNull File[] paths, @NotNull String message) throws VcsException { - if (paths.length == 0) return new CommitInfo[]{CommitInfo.EMPTY}; + private CommitInfo[] runCommit(@NotNull List paths, @NotNull String message) throws VcsException { + if (ContainerUtil.isEmpty(paths)) return new CommitInfo[]{CommitInfo.EMPTY}; final List parameters = new ArrayList(); - CommandUtil.put(parameters, Depth.EMPTY); - CommandUtil.put(parameters, false, "--no-unlock"); - CommandUtil.put(parameters, false, "--keep-changelists"); - CommandUtil.putChangeLists(parameters, null); + CommandUtil.put(parameters, Depth.EMPTY); parameters.add("-m"); parameters.add(message); // TODO: seems that sort is not necessary here - Arrays.sort(paths); + ContainerUtil.sort(paths); CommandUtil.put(parameters, paths); IdeaCommitHandler handler = new IdeaCommitHandler(ProgressManager.getInstance().getProgressIndicator()); CmdCheckinClient.CommandListener listener = new CommandListener(handler); - listener.setBaseDirectory(CommandUtil.correctUpToExistingParent(paths[0])); - execute(myVcs, SvnTarget.fromFile(paths[0]), SvnCommandName.ci, parameters, listener); + listener.setBaseDirectory(CommandUtil.correctUpToExistingParent(paths.get(0))); + execute(myVcs, SvnTarget.fromFile(paths.get(0)), SvnCommandName.ci, parameters, listener); listener.throwExceptionIfOccurred(); long revision = validateRevisionNumber(listener.getCommittedRevision()); @@ -102,6 +101,7 @@ public class CmdCheckinClient extends BaseSvnClient implements CheckinClient { return revision; } + @NotNull private List filterCommittables(@NotNull List committables) throws SvnBindException { final Set childrenOfSomebody = ContainerUtil.newHashSet(); new AbstractFilterChildren() { diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/CommandUtil.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/CommandUtil.java index 244c933f85b1..0b87a0cd5d16 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/CommandUtil.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/CommandUtil.java @@ -84,12 +84,6 @@ public class CommandUtil { } } - public static void put(@NotNull List parameters, @NotNull File... paths) { - for (File path : paths) { - put(parameters, path); - } - } - public static void put(@NotNull List parameters, @NotNull Iterable paths) { for (File path : paths) { put(parameters, path);