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