summaryrefslogtreecommitdiff
path: root/plugins/git4idea/src/git4idea/commands/GitImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/git4idea/src/git4idea/commands/GitImpl.java')
-rw-r--r--plugins/git4idea/src/git4idea/commands/GitImpl.java21
1 files changed, 14 insertions, 7 deletions
diff --git a/plugins/git4idea/src/git4idea/commands/GitImpl.java b/plugins/git4idea/src/git4idea/commands/GitImpl.java
index c873e71ff94b..09e254f5392b 100644
--- a/plugins/git4idea/src/git4idea/commands/GitImpl.java
+++ b/plugins/git4idea/src/git4idea/commands/GitImpl.java
@@ -32,6 +32,7 @@ import git4idea.history.GitHistoryUtils;
import git4idea.push.GitPushSpec;
import git4idea.repo.GitRemote;
import git4idea.repo.GitRepository;
+import git4idea.reset.GitResetMode;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -338,20 +339,26 @@ public class GitImpl implements Git {
@Override
@NotNull
- public GitCommandResult resetHard(@NotNull GitRepository repository, @NotNull String revision) {
- final GitLineHandler handler = new GitLineHandler(repository.getProject(), repository.getRoot(), GitCommand.RESET);
- handler.addParameters("--hard", revision);
- return run(handler);
+ public GitCommandResult reset(@NotNull GitRepository repository, @NotNull GitResetMode mode, @NotNull String target,
+ @NotNull GitLineHandlerListener... listeners) {
+ return reset(repository, mode.getArgument(), target, listeners);
}
@Override
@NotNull
public GitCommandResult resetMerge(@NotNull GitRepository repository, @Nullable String revision) {
+ return reset(repository, "--merge", revision);
+ }
+
+ @NotNull
+ private static GitCommandResult reset(@NotNull GitRepository repository, @NotNull String argument, @Nullable String target,
+ @NotNull GitLineHandlerListener... listeners) {
final GitLineHandler handler = new GitLineHandler(repository.getProject(), repository.getRoot(), GitCommand.RESET);
- handler.addParameters("--merge");
- if (revision != null) {
- handler.addParameters(revision);
+ handler.addParameters(argument);
+ if (target != null) {
+ handler.addParameters(target);
}
+ addListeners(handler, listeners);
return run(handler);
}