}
return finishRebase(newHead, lastStepWasForward);
} catch (CheckoutConflictException cce) {
- return new RebaseResult(cce.getConflictingPaths());
+ return RebaseResult.conflicts(cce.getConflictingPaths());
} catch (IOException ioe) {
throw new JGitInternalException(ioe.getMessage(), ioe);
}
RevCommit commitToPick = walk.parseCommit(ids.iterator().next());
if (shouldPick) {
if (monitor.isCancelled())
- return new RebaseResult(commitToPick, Status.STOPPED);
+ return RebaseResult.result(Status.STOPPED, commitToPick);
RebaseResult result = cherryPickCommit(commitToPick);
if (result != null)
return result;
switch (cherryPickResult.getStatus()) {
case FAILED:
if (operation == Operation.BEGIN)
- return abort(new RebaseResult(
- cherryPickResult.getFailingPaths()));
+ return abort(RebaseResult.failed(cherryPickResult
+ .getFailingPaths()));
else
return stop(commitToPick, Status.STOPPED);
case CONFLICTING:
// Remove cherry pick state file created by CherryPickCommand, it's not
// needed for rebase
repo.writeCherryPickHead(null);
- return new RebaseResult(commitToPick, status);
+ return RebaseResult.result(status, commitToPick);
}
String toAuthorScript(PersonIdent author) {
currentCommit = null;
}
+ private RebaseResult(Status status, RevCommit commit) {
+ this.status = status;
+ currentCommit = commit;
+ }
+
/**
- * Create <code>RebaseResult</code> with status {@link Status#STOPPED}
+ * Create <code>RebaseResult</code>
*
+ * @param status
* @param commit
* current commit
- * @param status
+ * @return the RebaseResult
*/
- RebaseResult(RevCommit commit, RebaseResult.Status status) {
- this.status = status;
- currentCommit = commit;
+ static RebaseResult result(RebaseResult.Status status,
+ RevCommit commit) {
+ return new RebaseResult(status, commit);
}
/**
*
* @param failingPaths
* list of paths causing this rebase to fail
+ * @return the RebaseResult
*/
- RebaseResult(Map<String, MergeFailureReason> failingPaths) {
- status = Status.FAILED;
- currentCommit = null;
- this.failingPaths = failingPaths;
+ static RebaseResult failed(
+ Map<String, MergeFailureReason> failingPaths) {
+ RebaseResult result = new RebaseResult(Status.FAILED);
+ result.failingPaths = failingPaths;
+ return result;
}
/**
*
* @param conflicts
* the list of conflicting paths
+ * @return the RebaseResult
*/
- RebaseResult(List<String> conflicts) {
- status = Status.CONFLICTS;
- currentCommit = null;
- this.conflicts = conflicts;
+ static RebaseResult conflicts(List<String> conflicts) {
+ RebaseResult result = new RebaseResult(Status.CONFLICTS);
+ result.conflicts = conflicts;
+ return result;
}
/**