summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <dpursehouse@collab.net>2016-07-06 11:29:18 +0900
committerDavid Pursehouse <dpursehouse@collab.net>2016-07-06 11:49:59 +0900
commita0157917f266606b3bc5bbe865dca569c15489cc (patch)
tree8b0b4edcae666074b299f51cee6d9ba1f8b3b704
parent9775399ea27b1e0687a357a20eded6f64e48c7e8 (diff)
ReceiveCommits: Prevent NPE setting updated change list for edit commit
When pushing an amended commit with the %edit option, the ReplaceRequest has null info, which causes NPE when trying to use it to get the subject of the new patch set. This results in the message: "internal error while processing changes" to be shown to the user instead of the "Updated Changes" list. Use the ReplaceRequest's newCommit instead. Also update AbstractPushForReview#testPushForMasterAsEdit to confirm that the expected "Updated Changes" output is present. Bug: Issue 4236 Change-Id: I82983219a3220d21f043fdc662f561e291fc0746
-rw-r--r--gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java4
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java2
2 files changed, 5 insertions, 1 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java
index 34679ddc25..f64a8a2f70 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java
@@ -176,6 +176,10 @@ public abstract class AbstractPushForReview extends AbstractDaemonTest {
r.assertOkStatus();
edit = getEdit(r.getChangeId());
assertThat(edit).isNotNull();
+ r.assertMessage("Updated Changes:\n "
+ + canonicalWebUrl.get()
+ + r.getChange().getId()
+ + " " + edit.commit.subject + " [EDIT]\n");
}
@Test
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
index e618fcb38e..a185c9e47e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
@@ -722,7 +722,7 @@ public class ReceiveCommits {
boolean edit = magicBranch != null && magicBranch.edit;
for (ReplaceRequest u : updated) {
addMessage(formatChangeUrl(canonicalWebUrl, u.change,
- u.info.getSubject(), edit));
+ u.newCommit.getShortMessage(), edit));
}
addMessage("");
}