NoteDb: Fix publish draft change by pushing non-draft patch set
When a non-draft patch set is pushed to a draft change, the change should get published. For this the change status must be changed from DRAFT to NEW. This was not done when NoteDb was enabled. Change-Id: I025b89873082777ecbab6936d05064f8cacaeef2 Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -269,6 +269,19 @@ public abstract class AbstractPushForReview extends AbstractDaemonTest {
|
|||||||
r.assertChange(Change.Status.DRAFT, null);
|
r.assertChange(Change.Status.DRAFT, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void publishDraftChangeByPushingNonDraftPatchSet() throws Exception {
|
||||||
|
// create draft change
|
||||||
|
PushOneCommit.Result r = pushTo("refs/drafts/master");
|
||||||
|
r.assertOkStatus();
|
||||||
|
r.assertChange(Change.Status.DRAFT, null);
|
||||||
|
|
||||||
|
// publish draft change by pushing non-draft patch set
|
||||||
|
r = amendChange(r.getChangeId(), "refs/for/master");
|
||||||
|
r.assertOkStatus();
|
||||||
|
r.assertChange(Change.Status.NEW, null);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void pushForMasterAsEdit() throws Exception {
|
public void pushForMasterAsEdit() throws Exception {
|
||||||
PushOneCommit.Result r = pushTo("refs/for/master");
|
PushOneCommit.Result r = pushTo("refs/for/master");
|
||||||
|
@@ -240,6 +240,9 @@ public class ReplaceOp extends BatchUpdate.Op {
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean draft = magicBranch != null && magicBranch.draft;
|
boolean draft = magicBranch != null && magicBranch.draft;
|
||||||
|
if (change.getStatus() == Change.Status.DRAFT && !draft) {
|
||||||
|
update.setStatus(Change.Status.NEW);
|
||||||
|
}
|
||||||
newPatchSet = psUtil.insert(
|
newPatchSet = psUtil.insert(
|
||||||
ctx.getDb(), ctx.getRevWalk(), update, patchSetId, commit, draft, groups,
|
ctx.getDb(), ctx.getRevWalk(), update, patchSetId, commit, draft, groups,
|
||||||
pushCertificate != null
|
pushCertificate != null
|
||||||
|
Reference in New Issue
Block a user