diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSuperSet.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSuperSet.java index 8d847e96eb..585a135fce 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSuperSet.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeSuperSet.java @@ -78,6 +78,7 @@ public class MergeSuperSet { for (ChangeData cd : cs.changes()) { cd.reloadChange(); cd.setPatchSets(null); + cd.setMergeable(null); } } @@ -316,13 +317,15 @@ public class MergeSuperSet { } private InternalChangeQuery query() { - // Request fields required for completing the ChangeSet without having to - // touch the database. This provides reasonable performance when loading the - // change screen; callers that care about reading the latest value of these - // fields should clear them explicitly using reloadChanges(). + // Request fields required for completing the ChangeSet and converting to + // ChangeInfo without having to touch the database or opening the repository + // more than necessary. This provides reasonable performance when loading + // the change screen; callers that care about reading the latest value of + // these fields should clear them explicitly using reloadChanges(). Set fields = ImmutableSet.of( ChangeField.CHANGE.getName(), - ChangeField.PATCH_SET.getName()); + ChangeField.PATCH_SET.getName(), + ChangeField.MERGEABLE.getName()); return queryProvider.get().setRequestedFields(fields); }