in src/main/java/com/googlesource/gerrit/plugins/automerger/MergeValidator.java [64:89]
public void onPreMerge(
Repository repo,
CodeReviewRevWalk revWalk,
CodeReviewCommit commit,
ProjectState destProject,
BranchNameKey destBranch,
PatchSet.Id patchSetId,
IdentifiedUser caller)
throws MergeValidationException {
int changeId = commit.change().getChangeId();
try {
ChangeInfo upstreamChange =
gApi.changes().id(changeId).get(EnumSet.of(ListChangesOption.CURRENT_REVISION));
Set<String> missingDownstreams = getMissingDownstreamMerges(upstreamChange);
if (!missingDownstreams.isEmpty()) {
throw new MergeValidationException(getMissingDownstreamsMessage(missingDownstreams));
}
} catch (RestApiException
| IOException
| ConfigInvalidException
| InvalidQueryParameterException e) {
log.error("Automerger plugin failed onPreMerge for {}", changeId, e);
e.printStackTrace();
throw new MergeValidationException("Error when validating merge for: " + changeId);
}
}