RebaseIfNecessary: Use submitter identity as the committer

Bug: Issue 3743
Change-Id: I9cf6f6d0146ab5f4b00804bf567eace832064c42
This commit is contained in:
Orgad Shaneh
2016-01-03 16:02:27 +02:00
parent a74bb5aaa9
commit 5132ea2b61
2 changed files with 9 additions and 3 deletions

View File

@@ -68,7 +68,7 @@ public class SubmitByRebaseIfNecessaryIT extends AbstractSubmit {
assertSubmitter(change2.getChangeId(), 1);
assertSubmitter(change2.getChangeId(), 2);
assertPersonEquals(admin.getIdent(), head.getAuthorIdent());
assertPersonEquals(serverIdent.get(), head.getCommitterIdent());
assertPersonEquals(admin.getIdent(), head.getCommitterIdent());
}
@Test

View File

@@ -58,6 +58,12 @@ public class RebaseIfNecessary extends SubmitStrategy {
this.newCommits = new HashMap<>();
}
private PersonIdent getSubmitterIdent() {
PersonIdent serverIdent = args.serverIdent.get();
return args.caller.newCommitterIdent(
serverIdent.getWhen(), serverIdent.getTimeZone());
}
@Override
protected MergeTip _run(final CodeReviewCommit branchTip,
final Collection<CodeReviewCommit> toMerge) throws IntegrationException {
@@ -132,7 +138,7 @@ public class RebaseIfNecessary extends SubmitStrategy {
if (args.rw.isMergedInto(mergeTip.getCurrentTip(), n)) {
mergeTip.moveTipTo(n, n);
} else {
PersonIdent myIdent = args.serverIdent.get();
PersonIdent myIdent = getSubmitterIdent();
mergeTip.moveTipTo(
args.mergeUtil.mergeOneCommit(myIdent, myIdent,
args.repo, args.rw, args.inserter, args.canMergeFlag,
@@ -170,7 +176,7 @@ public class RebaseIfNecessary extends SubmitStrategy {
n.getControl(),
args.db.patchSets().get(n.getPatchsetId()),
mergeTip.getCurrentTip().name())
.setCommitterIdent(args.serverIdent.get())
.setCommitterIdent(getSubmitterIdent())
.setRunHooks(false)
.setValidatePolicy(CommitValidators.Policy.NONE);
try (BatchUpdate bu = args.newBatchUpdate(TimeUtil.nowTs())) {