Avoid passing ChangeControl to ChangeMessageModifier.onSubmit.

Follow up on https://gerrit-review.googlesource.com/c/91991.

Bug: Issue 5003
Change-Id: I7571ebe05d2924d6fbb8d94ec8bb1440abfda238
This commit is contained in:
Andrii Shyshkalov
2016-11-30 18:19:08 +01:00
parent 8e917e11c2
commit b216a42d79
5 changed files with 12 additions and 16 deletions

View File

@@ -1820,12 +1820,10 @@ public class ChangeIT extends AbstractDaemonTest {
PushOneCommit.Result change = createChange(); PushOneCommit.Result change = createChange();
RegistrationHandle handle = RegistrationHandle handle =
changeMessageModifiers.add(new ChangeMessageModifier() { changeMessageModifiers.add(new ChangeMessageModifier() {
@Override @Override
public String onSubmit(String newCommitMessage, RevCommit original, public String onSubmit(String newCommitMessage, RevCommit original,
RevCommit mergeTip, ChangeControl ctl) { RevCommit mergeTip, Branch.NameKey destination) {
return newCommitMessage + "Custom: " return newCommitMessage + "Custom: " + destination.get();
+ ctl.getChange().getDest().get();
} }
}); });
ChangeInfo actual; ChangeInfo actual;

View File

@@ -29,12 +29,12 @@ import com.google.gerrit.extensions.common.ChangeInfo;
import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.extensions.registration.RegistrationHandle; import com.google.gerrit.extensions.registration.RegistrationHandle;
import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.ResourceConflictException;
import com.google.gerrit.reviewdb.client.Branch;
import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.PatchSet; import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.server.change.Submit.TestSubmitInput; import com.google.gerrit.server.change.Submit.TestSubmitInput;
import com.google.gerrit.server.git.ChangeMessageModifier; import com.google.gerrit.server.git.ChangeMessageModifier;
import com.google.gerrit.server.git.strategy.CommitMergeStatus; import com.google.gerrit.server.git.strategy.CommitMergeStatus;
import com.google.gerrit.server.project.ChangeControl;
import com.google.inject.Inject; import com.google.inject.Inject;
import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectId;
@@ -103,9 +103,8 @@ public class SubmitByCherryPickIT extends AbstractSubmit {
changeMessageModifiers.add(new ChangeMessageModifier() { changeMessageModifiers.add(new ChangeMessageModifier() {
@Override @Override
public String onSubmit(String newCommitMessage, RevCommit original, public String onSubmit(String newCommitMessage, RevCommit original,
RevCommit mergeTip, ChangeControl ctl) { RevCommit mergeTip, Branch.NameKey destination) {
return newCommitMessage + "Custom: " return newCommitMessage + "Custom: " + destination.get();
+ ctl.getChange().getDest().get();
} }
}); });
try { try {

View File

@@ -24,8 +24,8 @@ import com.google.gerrit.extensions.client.SubmitType;
import com.google.gerrit.extensions.common.ChangeInfo; import com.google.gerrit.extensions.common.ChangeInfo;
import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.extensions.registration.RegistrationHandle; import com.google.gerrit.extensions.registration.RegistrationHandle;
import com.google.gerrit.reviewdb.client.Branch;
import com.google.gerrit.server.git.ChangeMessageModifier; import com.google.gerrit.server.git.ChangeMessageModifier;
import com.google.gerrit.server.project.ChangeControl;
import com.google.inject.Inject; import com.google.inject.Inject;
import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectId;
@@ -95,13 +95,12 @@ public class SubmitByRebaseAlwaysIT extends AbstractSubmitByRebase {
changeMessageModifiers.add(new ChangeMessageModifier() { changeMessageModifiers.add(new ChangeMessageModifier() {
@Override @Override
public String onSubmit(String newCommitMessage, RevCommit original, public String onSubmit(String newCommitMessage, RevCommit original,
RevCommit mergeTip, ChangeControl ctl) { RevCommit mergeTip, Branch.NameKey destination) {
List<String> custom = mergeTip.getFooterLines("Custom"); List<String> custom = mergeTip.getFooterLines("Custom");
if (!custom.isEmpty()) { if (!custom.isEmpty()) {
newCommitMessage += "Custom-Parent: " + custom.get(0) + "\n"; newCommitMessage += "Custom-Parent: " + custom.get(0) + "\n";
} }
return newCommitMessage + "Custom: " return newCommitMessage + "Custom: " + destination.get();
+ ctl.getChange().getDest().get();
} }
}); });
try { try {

View File

@@ -15,7 +15,7 @@
package com.google.gerrit.server.git; package com.google.gerrit.server.git;
import com.google.gerrit.extensions.annotations.ExtensionPoint; import com.google.gerrit.extensions.annotations.ExtensionPoint;
import com.google.gerrit.server.project.ChangeControl; import com.google.gerrit.reviewdb.client.Branch;
import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevCommit;
@@ -45,9 +45,9 @@ public interface ChangeMessageModifier {
* commit message may be different than newCommitMessage argument.</b> * commit message may be different than newCommitMessage argument.</b>
* @param mergeTip the current HEAD of the destination branch, which will be a * @param mergeTip the current HEAD of the destination branch, which will be a
* parent of a new commit being generated * parent of a new commit being generated
* @param ctl * @param destination the branch onto which the change is being submitted
* @return a new not null commit message. * @return a new not null commit message.
*/ */
String onSubmit(String newCommitMessage, RevCommit original, String onSubmit(String newCommitMessage, RevCommit original,
RevCommit mergeTip, ChangeControl ctl); RevCommit mergeTip, Branch.NameKey destination);
} }

View File

@@ -120,7 +120,7 @@ public class MergeUtil {
} }
for (ChangeMessageModifier changeMessageModifier : changeMessageModifiers) { for (ChangeMessageModifier changeMessageModifier : changeMessageModifiers) {
current = changeMessageModifier.onSubmit(current, original, current = changeMessageModifier.onSubmit(current, original,
mergeTip, ctl); mergeTip, ctl.getChange().getDest());
checkNotNull(current, changeMessageModifier.getClass().getName() checkNotNull(current, changeMessageModifier.getClass().getName()
+ ".OnSubmit returned null instead of new commit message"); + ".OnSubmit returned null instead of new commit message");
} }