public ObjectId build()

in src/main/java/com/googlesource/gerrit/plugins/batch/util/MergeBuilder.java [130:146]


  public ObjectId build(Repository repo) throws IOException, MergeConflictException {
    try (RevWalk revWalk = new RevWalk(repo)) {
      RevCommit firstParentCommit = revWalk.lookupCommit(firstParent);
      RevCommit secondParentCommit = revWalk.lookupCommit(secondParent);
      if (revWalk.isMergedInto(secondParentCommit, firstParentCommit)) {
        return firstParent; // already up to date
      }
      if (fastForwardMode != FastForwardMode.NO_FF
          && revWalk.isMergedInto(firstParentCommit, secondParentCommit)) {
        return secondParent; // Fast forward merge
      }
      if (fastForwardMode == FastForwardMode.FF_ONLY) {
        throw new MergeConflictException("Merge aborted"); // because not FF
      }
      return merge(repo, revWalk);
    }
  }