Mention exact previous branch name in rollback checkout dialog

Instead of less clear "previous branch".

Mentioned in IDEA-163836.
This commit is contained in:
Kirill Likhodedov
2016-11-23 15:14:28 +03:00
parent e390bd0c32
commit 9792f7ca67
@@ -26,6 +26,7 @@ import com.intellij.openapi.vcs.VcsNotifier;
import com.intellij.openapi.vcs.changes.Change;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.ArrayUtil;
import com.intellij.util.containers.ContainerUtil;
import git4idea.GitUtil;
import git4idea.commands.*;
import git4idea.config.GitVcsSettings;
@@ -38,6 +39,7 @@ import javax.swing.event.HyperlinkEvent;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import static git4idea.util.GitUIUtil.code;
import static java.util.Arrays.stream;
@@ -53,8 +55,6 @@ import static java.util.Arrays.stream;
*/
class GitCheckoutOperation extends GitBranchOperation {
public static final String ROLLBACK_PROPOSAL_FORMAT = "You may rollback (checkout back to previous branch) not to let branches diverge.";
@NotNull private final String myStartPointReference;
private final boolean myDetach;
private final boolean myRefShouldBeValid;
@@ -192,8 +192,15 @@ class GitCheckoutOperation extends GitBranchOperation {
@NotNull
@Override
protected String getRollbackProposal() {
Collection<String> distinctPrevBranches = getSuccessfulRepositories().stream().
map(myCurrentHeads::get).
distinct().
collect(Collectors.toList());
String previousBranch = distinctPrevBranches.size() == 1 ? ContainerUtil.getFirstItem(distinctPrevBranches) : "previous branch";
String rollBackProposal = "You may rollback (checkout back to " + previousBranch + ") not to let branches diverge.";
return "However checkout has succeeded for the following " + repositories() + ":<br/>" +
successfulRepositoriesJoined() + "<br/>" + ROLLBACK_PROPOSAL_FORMAT;
successfulRepositoriesJoined() + "<br/>" +
rollBackProposal;
}
@NotNull