@Override public void updateRepoImpl(RepoContext ctx) throws IntegrationException, IOException { // There are multiple parents, so this is a merge commit. We don't want // to rebase the merge as clients can't easily rebase their history with // that merge present and replaced by an equivalent merge with a different // first parent. So instead behave as though MERGE_IF_NECESSARY was // configured. MergeTip mergeTip = args.mergeTip; if (args.rw.isMergedInto(mergeTip.getCurrentTip(), toMerge)) { mergeTip.moveTipTo(toMerge, toMerge); acceptMergeTip(mergeTip); } else { CodeReviewCommit newTip = args.mergeUtil.mergeOneCommit( args.serverIdent, args.serverIdent, args.repo, args.rw, args.inserter, args.destBranch, mergeTip.getCurrentTip(), toMerge); mergeTip.moveTipTo(newTip, toMerge); } args.mergeUtil.markCleanMerges( args.rw, args.canMergeFlag, mergeTip.getCurrentTip(), args.alreadyAccepted); acceptMergeTip(mergeTip); }
private void acceptMergeTip(MergeTip mergeTip) { args.alreadyAccepted.add(mergeTip.getCurrentTip()); }