Fix: draft patch set is published by cherrypicking
If a draft patch set is cherrypicked onto the same destination
change, i.e. as a shortcut to rebasing, the newly created patch
set is not draft.
Set the draft status of the newly created patch set to the same
as the source patch set.
Change-Id: I1e6e123171ee4257a784ab79f520810975b45644
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
index 1e748d9..e129432 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
@@ -196,8 +196,10 @@
final PatchSetInserter inserter = patchSetInserterFactory
.create(git, revWalk, refControl, currentUser, change, cherryPickCommit);
final PatchSet.Id newPatchSetId = inserter.getPatchSetId();
+ final PatchSet current = db.patchSets().get(change.currentPatchSetId());
inserter
.setMessage("Uploaded patch set " + newPatchSetId.get() + ".")
+ .setDraft(current.isDraft())
.insert();
return change.getId();
}