Merge "Don't add '(cherry-picked from commit ...)' if cherry-picked change is open"
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
index 458e646..62a3af0 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
@@ -53,6 +53,7 @@
   private RestoreAction restoreAction;
 
   private Change.Id changeId;
+  private ChangeInfo changeInfo;
   private String revision;
   private String project;
   private String subject;
@@ -74,6 +75,7 @@
     project = info.project();
     subject = commit.subject();
     message = commit.message();
+    changeInfo = info;
 
     initChangeActions(info, hasUser);
     initRevisionActions(info, revInfo, hasUser);
@@ -162,7 +164,7 @@
 
   @UiHandler("cherrypick")
   void onCherryPick(ClickEvent e) {
-    CherryPickAction.call(cherrypick, changeId, revision, project, message);
+    CherryPickAction.call(cherrypick, changeInfo, revision, project, message);
   }
 
   @UiHandler("revert")
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CherryPickAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CherryPickAction.java
index 76c7029..2c0db0b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CherryPickAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CherryPickAction.java
@@ -21,26 +21,29 @@
 import com.google.gerrit.client.rpc.GerritCallback;
 import com.google.gerrit.client.ui.CherryPickDialog;
 import com.google.gerrit.common.PageLinks;
-import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gwt.user.client.ui.Button;
 
 class CherryPickAction {
-  static void call(Button b, final Change.Id id, final String revision,
+  static void call(Button b, final ChangeInfo info, final String revision,
       String project, final String commitMessage) {
     // TODO Replace CherryPickDialog with a nicer looking display.
     b.setEnabled(false);
     new CherryPickDialog(b, new Project.NameKey(project)) {
       {
         sendButton.setText(Util.C.buttonCherryPickChangeSend());
-        message.setText(Util.M.cherryPickedChangeDefaultMessage(
-            commitMessage.trim(),
-            revision));
+        if (info.status().isClosed()) {
+          message.setText(Util.M.cherryPickedChangeDefaultMessage(
+              commitMessage.trim(),
+              revision));
+        } else {
+          message.setText(commitMessage.trim());
+        }
       }
 
       @Override
       public void onSend() {
-        ChangeApi.cherrypick(id.get(), revision,
+        ChangeApi.cherrypick(info.legacy_id().get(), revision,
             getDestinationBranch(),
             getMessageText(),
             new GerritCallback<ChangeInfo>() {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
index dded70b..f1bb5b2 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
@@ -399,9 +399,13 @@
           new CherryPickDialog(b, changeDetail.getChange().getProject()) {
             {
               sendButton.setText(Util.C.buttonCherryPickChangeSend());
-              message.setText(Util.M.cherryPickedChangeDefaultMessage(
-                  detail.getInfo().getMessage().trim(),
-                  detail.getPatchSet().getRevision().get()));
+              if (changeDetail.getChange().getStatus().isClosed()) {
+                message.setText(Util.M.cherryPickedChangeDefaultMessage(
+                    detail.getInfo().getMessage().trim(),
+                    detail.getPatchSet().getRevision().get()));
+              } else {
+                message.setText(detail.getInfo().getMessage().trim());
+              }
             }
 
             @Override