summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Borowitz <dborowitz@google.com>2014-05-30 12:31:26 -0700
committerDave Borowitz <dborowitz@google.com>2014-05-31 14:37:38 -0700
commitfacf9d55ec82b8cbec63203d2e244fe65f858a72 (patch)
treeda6d0e9226f1e99b7e0ad3d76d2aa520c5f4f7ae
parentb8dd435dec4f73342ee6c5709e5c785bbdaa7cc6 (diff)
Populate CodeReviewCommit before passing to MergeValidators
The onPreMerge method of MergeValidationListener may reasonably assume that the fields of CodeReviewCommit are populated, for example that commit.notes() will not NPE. The previous ordering of code in MergeOp.validateChangeList() made this assumption false. Change-Id: I9bd9e76bb09a25faf57df7080cdb0c8f878a7471
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
index 0919aa0f67..d92400e02f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
@@ -520,6 +520,15 @@ public class MergeOp {
continue;
}
+ try {
+ commit.setControl(changeControlFactory.controlFor(chg,
+ identifiedUserFactory.create(chg.getOwner())));
+ } catch (NoSuchChangeException e) {
+ throw new MergeException("Failed to validate changes", e);
+ }
+ commit.setPatchsetId(ps.getId());
+ commit.originalOrder = commitOrder++;
+
MergeValidators mergeValidators = mergeValidatorsFactory.create();
try {
mergeValidators.validatePreMerge(repo, commit, destProject, destBranch, ps.getId());
@@ -529,14 +538,6 @@ public class MergeOp {
continue;
}
- try {
- commit.setControl(changeControlFactory.controlFor(chg,
- identifiedUserFactory.create(chg.getOwner())));
- } catch (NoSuchChangeException e) {
- throw new MergeException("Failed to validate changes", e);
- }
- commit.setPatchsetId(ps.getId());
- commit.originalOrder = commitOrder++;
commits.put(changeId, commit);
if (branchTip != null) {