in src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java [224:238]
private void attemptToMergeNonAtomic(Change change) throws Exception {
// There may be a parent commit that it not merged while having all approvals
// because it is part of a cross-repo. We take care to not let Gerrit merge it
// by merging only the commits whose parents are already merged.
boolean dependsOnNonMergedCommit =
atomicityHelper.hasDependentReview(change.project, change.number);
if (dependsOnNonMergedCommit) {
log.info(
"Change {} is not mergeable because it depends on a non merged commit.", change.number);
return;
}
log.info("Submitting non-atomic change {}...", change.number);
atomicityHelper.mergeReview(change.project, change.number);
}