diff options
author | Dave Borowitz <dborowitz@google.com> | 2014-05-30 12:31:26 -0700 |
---|---|---|
committer | Dave Borowitz <dborowitz@google.com> | 2014-05-31 14:37:38 -0700 |
commit | facf9d55ec82b8cbec63203d2e244fe65f858a72 (patch) | |
tree | da6d0e9226f1e99b7e0ad3d76d2aa520c5f4f7ae | |
parent | b8dd435dec4f73342ee6c5709e5c785bbdaa7cc6 (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.java | 17 |
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) { |