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 1d21cad114..e65d51e29c 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 @@ -201,6 +201,18 @@ public abstract class AbstractPushForReview extends AbstractDaemonTest { assertThat(cr.all.get(0).value.intValue()).is(2); } + @Test + public void testPushNewPatchsetToRefsChanges() throws GitAPIException, + IOException, OrmException { + PushOneCommit.Result r = pushTo("refs/for/master"); + r.assertOkStatus(); + PushOneCommit push = + pushFactory.create(db, admin.getIdent(), PushOneCommit.SUBJECT, + "b.txt", "anotherContent", r.getChangeId()); + r = push.to(git, "refs/changes/" + r.getChange().change().getId().get()); + r.assertOkStatus(); + } + @Test public void testPushForMasterWithApprovals_MissingLabel() throws GitAPIException, IOException { 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 cc2919d58b..81833fe715 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 @@ -2041,7 +2041,7 @@ public class ReceiveCommits { @Override public PatchSet.Id call() throws OrmException, IOException, NoSuchChangeException { try { - if (magicBranch.edit) { + if (magicBranch != null && magicBranch.edit) { return upsertEdit(); } else if (caller == Thread.currentThread()) { return insertPatchSet(db);