Merge "Merge branch 'stable-3.8' into stable-3.9" into stable-3.9
diff --git a/java/com/google/gerrit/server/query/change/ChangeData.java b/java/com/google/gerrit/server/query/change/ChangeData.java
index 0c02920..9522b83 100644
--- a/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -1244,8 +1244,6 @@
mergeable = true;
} else if (c.isAbandoned()) {
return null;
- } else if (c.isWorkInProgress()) {
- return null;
} else {
if (!lazyload()) {
return null;
diff --git a/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java b/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
index d6874d8..cab92aa 100644
--- a/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
@@ -4545,6 +4545,8 @@
public void changeQueryReturnsMergeableWhenGerritIndexMergeable() throws Exception {
String changeId = createChange().getChangeId();
assertThat(gApi.changes().query(changeId).get().get(0).mergeable).isTrue();
+ gApi.changes().id(changeId).setWorkInProgress();
+ assertThat(gApi.changes().query(changeId).get().get(0).mergeable).isTrue();
}
@Test
diff --git a/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java b/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
index 6af5b06..ecae27e 100644
--- a/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
+++ b/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
@@ -195,7 +195,7 @@
.create(
admin.newIdent(),
testRepo,
- "parent 2",
+ "parent 1",
ImmutableMap.of("foo", "foo-2", "bar", "bar-2"))
.to("refs/heads/master");
@@ -214,7 +214,7 @@
.create(
admin.newIdent(),
testRepo,
- "parent 1",
+ "parent 2",
ImmutableMap.of("foo", "foo-1", "bar", "bar-1"))
.to("refs/heads/stable");
@@ -573,6 +573,25 @@
}
@Test
+ public void submitParentIsWorkInProgressChange() throws Throwable {
+ PushOneCommit.Result parent = pushTo("refs/for/master%wip");
+ PushOneCommit.Result change = createChange();
+ Change.Id num = parent.getChange().getId();
+ if (getSubmitType() == CHERRY_PICK) {
+ submit(change.getChangeId());
+ } else {
+ submitWithConflict(
+ change.getChangeId(),
+ "Failed to submit 2 changes due to the following problems:\n"
+ + "Change "
+ + num
+ + ": Change "
+ + num
+ + " is work in progress");
+ }
+ }
+
+ @Test
public void submitWithHiddenBranchInSameTopic() throws Throwable {
assume().that(isSubmitWholeTopicEnabled()).isTrue();
PushOneCommit.Result visible = createChange("refs/for/master%topic=" + name("topic"));