Store ChangeControl instead of ChangeNotes in CodeReviewCommit
We want to be able to use ApprovalCopier when generating the list of approvals that goes in the cherry-pick commit message, which requires the ChangeControl. Exposed a couple of subtle bugs in merge code expecting one Change object to be mutated when it was in fact another. Change-Id: Iad025a0b7a54306bc3b636cc28f484ee0baf534b
This commit is contained in:
@@ -30,8 +30,6 @@ import com.google.gerrit.reviewdb.client.SubmoduleSubscription;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.reviewdb.server.SubmoduleSubscriptionAccess;
|
||||
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
|
||||
|
||||
import com.google.gerrit.server.notedb.ChangeNotes;
|
||||
import com.google.gerrit.server.util.TimeUtil;
|
||||
import com.google.gwtorm.client.KeyUtil;
|
||||
import com.google.gwtorm.server.ListResultSet;
|
||||
@@ -81,7 +79,6 @@ public class SubmoduleOpTest extends LocalDiskRepositoryTestCase {
|
||||
private Provider<String> urlProvider;
|
||||
private GitRepositoryManager repoManager;
|
||||
private GitReferenceUpdated gitRefUpdated;
|
||||
private ChangeNotes.Factory notesFactory;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
@@ -95,7 +92,6 @@ public class SubmoduleOpTest extends LocalDiskRepositoryTestCase {
|
||||
urlProvider = createStrictMock(Provider.class);
|
||||
repoManager = createStrictMock(GitRepositoryManager.class);
|
||||
gitRefUpdated = createStrictMock(GitReferenceUpdated.class);
|
||||
notesFactory = new ChangeNotes.Factory(repoManager);
|
||||
}
|
||||
|
||||
private void doReplay() {
|
||||
@@ -616,11 +612,10 @@ public class SubmoduleOpTest extends LocalDiskRepositoryTestCase {
|
||||
final Change submittedChange = new Change(
|
||||
new Change.Key(sourceMergeTip.toObjectId().getName()), new Change.Id(1),
|
||||
new Account.Id(1), sourceBranchNameKey, TimeUtil.nowTs());
|
||||
codeReviewCommit.notes = notesFactory.create(submittedChange);
|
||||
|
||||
final Map<Change.Id, CodeReviewCommit> mergedCommits =
|
||||
new HashMap<Change.Id, CodeReviewCommit>();
|
||||
mergedCommits.put(codeReviewCommit.notes.getChangeId(), codeReviewCommit);
|
||||
mergedCommits.put(submittedChange.getId(), codeReviewCommit);
|
||||
|
||||
final List<Change> submitted = new ArrayList<Change>();
|
||||
submitted.add(submittedChange);
|
||||
@@ -720,11 +715,10 @@ public class SubmoduleOpTest extends LocalDiskRepositoryTestCase {
|
||||
final Change submittedChange = new Change(
|
||||
new Change.Key(sourceMergeTip.toObjectId().getName()), new Change.Id(1),
|
||||
new Account.Id(1), sourceBranchNameKey, TimeUtil.nowTs());
|
||||
codeReviewCommit.notes = notesFactory.create(submittedChange);
|
||||
|
||||
final Map<Change.Id, CodeReviewCommit> mergedCommits =
|
||||
new HashMap<Change.Id, CodeReviewCommit>();
|
||||
mergedCommits.put(codeReviewCommit.notes.getChangeId(), codeReviewCommit);
|
||||
mergedCommits.put(submittedChange.getId(), codeReviewCommit);
|
||||
|
||||
final List<Change> submitted = new ArrayList<Change>();
|
||||
submitted.add(submittedChange);
|
||||
|
Reference in New Issue
Block a user