Example usage for org.eclipse.jgit.errors NoMergeBaseException getReason

List of usage examples for org.eclipse.jgit.errors NoMergeBaseException getReason

Introduction

In this page you can find the example usage for org.eclipse.jgit.errors NoMergeBaseException getReason.

Prototype

public MergeBaseFailureReason getReason() 

Source Link

Document

Get the reason why no merge base could be found

Usage

From source file:com.google.gerrit.server.git.MergeUtil.java

License:Apache License

public CodeReviewCommit mergeOneCommit(PersonIdent author, PersonIdent committer, Repository repo,
        CodeReviewRevWalk rw, ObjectInserter inserter, RevFlag canMergeFlag, Branch.NameKey destBranch,
        CodeReviewCommit mergeTip, CodeReviewCommit n) throws MergeException {
    final ThreeWayMerger m = newThreeWayMerger(repo, inserter);
    try {//www  . j  a  va 2s. c om
        if (m.merge(new AnyObjectId[] { mergeTip, n })) {
            return writeMergeCommit(author, committer, rw, inserter, canMergeFlag, destBranch, mergeTip,
                    m.getResultTreeId(), n);
        } else {
            failed(rw, canMergeFlag, mergeTip, n, CommitMergeStatus.PATH_CONFLICT);
        }
    } catch (NoMergeBaseException e) {
        try {
            failed(rw, canMergeFlag, mergeTip, n, getCommitMergeStatus(e.getReason()));
        } catch (IOException e2) {
            throw new MergeException("Cannot merge " + n.name(), e);
        }
    } catch (IOException e) {
        throw new MergeException("Cannot merge " + n.name(), e);
    }
    return mergeTip;
}