summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java9
1 files changed, 9 insertions, 0 deletions
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 893cca64dc..b5fc953486 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
@@ -955,6 +955,11 @@ public class ReceiveCommits implements PreReceiveHook, PostReceiveHook {
reject(cmd, "change " + change.getId() + " closed");
return false;
}
+ if (change.getStatus().equals(AbstractEntity.Status.DEFERRED)
+ && topic == null) {
+ reject(cmd, "change " + change.getId() + " closed");
+ return false;
+ }
Topic.Id topicId = topic != null ? topic.getId() : null;
ChangeSet.Id csId = topic != null ? topic.currentChangeSetId() : null;
@@ -986,6 +991,10 @@ public class ReceiveCommits implements PreReceiveHook, PostReceiveHook {
reject(cmd, "change " + change.getId() + " closed");
return false;
}
+ if (change.getStatus().equals(AbstractEntity.Status.DEFERRED) && !topic) {
+ reject(cmd, "change " + change.getId() + " closed");
+ return false;
+ }
if (toReplace.containsKey(change.getId())) {
reject(cmd, "duplicate request");
return false;