summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java37
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/PullResult.java11
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseResult.java47
3 files changed, 88 insertions, 7 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java
index 1ec8685f7e..86e4e78c8c 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeResult.java
@@ -70,37 +70,72 @@ public class MergeResult {
public String toString() {
return "Fast-forward";
}
+
+ @Override
+ public boolean isSuccessful() {
+ return true;
+ }
},
/** */
ALREADY_UP_TO_DATE {
public String toString() {
return "Already-up-to-date";
}
+
+ @Override
+ public boolean isSuccessful() {
+ return true;
+ }
},
/** */
FAILED {
public String toString() {
return "Failed";
}
+
+ @Override
+ public boolean isSuccessful() {
+ return false;
+ }
},
/** */
MERGED {
public String toString() {
return "Merged";
}
+
+ @Override
+ public boolean isSuccessful() {
+ return true;
+ }
},
/** */
CONFLICTING {
public String toString() {
return "Conflicting";
}
+
+ @Override
+ public boolean isSuccessful() {
+ return false;
+ }
},
/** */
NOT_SUPPORTED {
public String toString() {
return "Not-yet-supported";
}
- }
+
+ @Override
+ public boolean isSuccessful() {
+ return false;
+ }
+ };
+
+ /**
+ * @return whether the status indicates a successful result
+ */
+ public abstract boolean isSuccessful();
}
private ObjectId[] mergedCommits;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/PullResult.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/PullResult.java
index 40ed137ee0..49327fc9b9 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/PullResult.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/PullResult.java
@@ -101,6 +101,17 @@ public class PullResult {
return this.fetchedFrom;
}
+ /**
+ * @return whether the pull was successful
+ */
+ public boolean isSuccessful() {
+ if (mergeResult != null)
+ return mergeResult.getMergeStatus().isSuccessful();
+ else if (rebaseResult != null)
+ return rebaseResult.getStatus().isSuccessful();
+ return true;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseResult.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseResult.java
index af070d6535..07cd8eb20a 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseResult.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseResult.java
@@ -59,27 +59,62 @@ public class RebaseResult {
/**
* Rebase was successful, HEAD points to the new commit
*/
- OK,
+ OK {
+ @Override
+ public boolean isSuccessful() {
+ return true;
+ }
+ },
/**
* Aborted; the original HEAD was restored
*/
- ABORTED,
+ ABORTED {
+ @Override
+ public boolean isSuccessful() {
+ return false;
+ }
+ },
/**
* Stopped due to a conflict; must either abort or resolve or skip
*/
- STOPPED,
+ STOPPED {
+ @Override
+ public boolean isSuccessful() {
+ return false;
+ }
+ },
/**
* Failed; the original HEAD was restored
*/
- FAILED,
+ FAILED {
+ @Override
+ public boolean isSuccessful() {
+ return false;
+ }
+ },
/**
* Already up-to-date
*/
- UP_TO_DATE,
+ UP_TO_DATE {
+ @Override
+ public boolean isSuccessful() {
+ return true;
+ }
+ },
/**
* Fast-forward, HEAD points to the new commit
*/
- FAST_FORWARD;
+ FAST_FORWARD {
+ @Override
+ public boolean isSuccessful() {
+ return true;
+ }
+ };
+
+ /**
+ * @return whether the status indicates a successful result
+ */
+ public abstract boolean isSuccessful();
}
static final RebaseResult OK_RESULT = new RebaseResult(Status.OK);