mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[git] simplify: accept roots instead of repositories
This commit is contained in:
@@ -224,7 +224,8 @@ class GitCheckoutOperation extends GitBranchOperation {
|
||||
@Nullable final String newBranch, @NotNull ProgressIndicator indicator) {
|
||||
final AtomicBoolean result = new AtomicBoolean();
|
||||
GitPreservingProcess preservingProcess = new GitPreservingProcess(myProject, myFacade, myGit,
|
||||
repositories, "checkout", reference, indicator,
|
||||
GitUtil.getRootsFromRepositories(repositories), "checkout", reference,
|
||||
indicator,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
@@ -215,7 +215,8 @@ class GitMergeOperation extends GitBranchOperation {
|
||||
|
||||
private boolean doSmartMerge(@NotNull final Collection<GitRepository> repositories) {
|
||||
final AtomicBoolean success = new AtomicBoolean();
|
||||
myPreservingProcess = new GitPreservingProcess(myProject, myFacade, myGit, repositories, "merge", myBranchToMerge, getIndicator(),
|
||||
myPreservingProcess = new GitPreservingProcess(myProject, myFacade, myGit, GitUtil.getRootsFromRepositories(repositories), "merge",
|
||||
myBranchToMerge, getIndicator(),
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -309,8 +310,9 @@ class GitMergeOperation extends GitBranchOperation {
|
||||
private GitCompoundResult smartRollback(@NotNull final Collection<GitRepository> repositories) {
|
||||
LOG.info("Starting smart rollback...");
|
||||
final GitCompoundResult result = new GitCompoundResult(myProject);
|
||||
GitPreservingProcess preservingProcess = new GitPreservingProcess(myProject, myFacade, myGit, repositories, "merge", myBranchToMerge,
|
||||
getIndicator(),
|
||||
Collection<VirtualFile> roots = GitUtil.getRootsFromRepositories(repositories);
|
||||
GitPreservingProcess preservingProcess = new GitPreservingProcess(myProject, myFacade, myGit, roots, "merge",
|
||||
myBranchToMerge, getIndicator(),
|
||||
new Runnable() {
|
||||
@Override public void run() {
|
||||
for (GitRepository repository : repositories) {
|
||||
|
||||
@@ -111,7 +111,8 @@ public class GitResetOperation {
|
||||
int choice = myUiHandler.showSmartOperationDialog(myProject, affectedChanges, absolutePaths, "reset", "&Hard Reset");
|
||||
if (choice == GitSmartOperationDialog.SMART_EXIT_CODE) {
|
||||
final Ref<GitCommandResult> result = Ref.create();
|
||||
new GitPreservingProcess(myProject, myFacade, myGit, Collections.singleton(repository), "reset", target, myIndicator, new Runnable() {
|
||||
new GitPreservingProcess(myProject, myFacade, myGit, Collections.singleton(repository.getRoot()), "reset", target, myIndicator,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
result.set(myGit.reset(repository, myMode, target));
|
||||
|
||||
@@ -30,8 +30,9 @@ import com.intellij.util.text.DateFormatUtil;
|
||||
import git4idea.GitPlatformFacade;
|
||||
import git4idea.GitUtil;
|
||||
import git4idea.commands.Git;
|
||||
import git4idea.config.GitVcsSettings;
|
||||
import git4idea.merge.GitConflictResolver;
|
||||
import git4idea.repo.GitRepository;
|
||||
import git4idea.stash.GitChangesSaver;
|
||||
import git4idea.stash.GitStashChangesSaver;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -52,7 +53,7 @@ public class GitPreservingProcess {
|
||||
@NotNull private final Project myProject;
|
||||
@NotNull private final GitPlatformFacade myFacade;
|
||||
@NotNull private final Git myGit;
|
||||
@NotNull private final Collection<GitRepository> myRepositories;
|
||||
@NotNull private final Collection<VirtualFile> myRootsToSave;
|
||||
@NotNull private final String myOperationTitle;
|
||||
@NotNull private final String myDestinationName;
|
||||
@NotNull private final ProgressIndicator myProgressIndicator;
|
||||
@@ -62,14 +63,18 @@ public class GitPreservingProcess {
|
||||
|
||||
@NotNull private final AtomicBoolean myLoaded = new AtomicBoolean();
|
||||
|
||||
public GitPreservingProcess(@NotNull Project project, @NotNull GitPlatformFacade facade, @NotNull Git git,
|
||||
@NotNull Collection<GitRepository> repositories,
|
||||
@NotNull String operationTitle, @NotNull String destinationName,
|
||||
@NotNull ProgressIndicator indicator, @NotNull Runnable operation) {
|
||||
public GitPreservingProcess(@NotNull Project project,
|
||||
@NotNull GitPlatformFacade facade,
|
||||
@NotNull Git git,
|
||||
@NotNull Collection<VirtualFile> rootsToSave,
|
||||
@NotNull String operationTitle,
|
||||
@NotNull String destinationName,
|
||||
@NotNull ProgressIndicator indicator,
|
||||
@NotNull Runnable operation) {
|
||||
myProject = project;
|
||||
myFacade = facade;
|
||||
myGit = git;
|
||||
myRepositories = repositories;
|
||||
myRootsToSave = rootsToSave;
|
||||
myOperationTitle = operationTitle;
|
||||
myDestinationName = destinationName;
|
||||
myProgressIndicator = indicator;
|
||||
@@ -148,7 +153,7 @@ public class GitPreservingProcess {
|
||||
*/
|
||||
private boolean save() {
|
||||
try {
|
||||
mySaver.saveLocalChanges(GitUtil.getRootsFromRepositories(myRepositories));
|
||||
mySaver.saveLocalChanges(myRootsToSave);
|
||||
return true;
|
||||
} catch (VcsException e) {
|
||||
LOG.info("Couldn't save local changes", e);
|
||||
|
||||
@@ -50,6 +50,7 @@ import org.jetbrains.plugins.github.util.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static git4idea.commands.GitLocalChangesWouldBeOverwrittenDetector.Operation.CHECKOUT;
|
||||
import static org.jetbrains.plugins.github.util.GithubUtil.setVisibleEnabled;
|
||||
@@ -232,15 +233,14 @@ public class GithubRebaseAction extends DumbAwareAction {
|
||||
final GitPlatformFacade facade = ServiceManager.getService(project, GitPlatformFacade.class);
|
||||
AccessToken token = DvcsUtil.workingTreeChangeStarted(project);
|
||||
try {
|
||||
GitPreservingProcess process =
|
||||
new GitPreservingProcess(project, facade, git, Collections.singletonList(gitRepository), "Rebasing", "upstream/master", indicator,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
doRebaseCurrentBranch(project, gitRepository.getRoot(), indicator);
|
||||
}
|
||||
}
|
||||
);
|
||||
List<VirtualFile> rootsToSave = Collections.singletonList(gitRepository.getRoot());
|
||||
GitPreservingProcess process = new GitPreservingProcess(project, facade, git, rootsToSave, "Rebasing", "upstream/master", indicator,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
doRebaseCurrentBranch(project, gitRepository.getRoot(), indicator);
|
||||
}
|
||||
});
|
||||
process.execute();
|
||||
}
|
||||
finally {
|
||||
|
||||
Reference in New Issue
Block a user