extract Git actions operating single selected commit per repo

This commit is contained in:
Kirill Likhodedov
2016-08-03 11:24:33 +03:00
parent 477c0c436e
commit 877b1dbff9
2 changed files with 27 additions and 19 deletions
@@ -0,0 +1,26 @@
package git4idea.reset;
import com.intellij.dvcs.repo.AbstractRepositoryManager;
import com.intellij.dvcs.ui.VcsLogOneCommitPerRepoAction;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import git4idea.repo.GitRepository;
import git4idea.repo.GitRepositoryManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public abstract class GitOneCommitPerRepoLogAction extends VcsLogOneCommitPerRepoAction<GitRepository> {
@NotNull
@Override
protected AbstractRepositoryManager<GitRepository> getRepositoryManager(@NotNull Project project) {
return ServiceManager.getService(project, GitRepositoryManager.class);
}
@Nullable
@Override
protected GitRepository getRepositoryForRoot(@NotNull Project project, @NotNull VirtualFile root) {
return getRepositoryManager(project).getRepositoryForRoot(root);
}
}
@@ -15,36 +15,18 @@
*/
package git4idea.reset;
import com.intellij.dvcs.repo.AbstractRepositoryManager;
import com.intellij.dvcs.ui.VcsLogOneCommitPerRepoAction;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.Task;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.ObjectUtils;
import com.intellij.vcs.log.VcsFullCommitDetails;
import git4idea.config.GitVcsSettings;
import git4idea.repo.GitRepository;
import git4idea.repo.GitRepositoryManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Map;
public class GitResetAction extends VcsLogOneCommitPerRepoAction<GitRepository> {
@NotNull
@Override
protected AbstractRepositoryManager<GitRepository> getRepositoryManager(@NotNull Project project) {
return ServiceManager.getService(project, GitRepositoryManager.class);
}
@Nullable
@Override
protected GitRepository getRepositoryForRoot(@NotNull Project project, @NotNull VirtualFile root) {
return getRepositoryManager(project).getRepositoryForRoot(root);
}
public class GitResetAction extends GitOneCommitPerRepoLogAction {
@Override
protected void actionPerformed(@NotNull final Project project, @NotNull final Map<GitRepository, VcsFullCommitDetails> commits) {