Class MergeSuperSet

java.lang.Object
com.google.gerrit.server.submit.MergeSuperSet

public class MergeSuperSet extends Object
Calculates the minimal superset of changes required to be merged.

This includes all parents between a change and the tip of its target branch for the merging/rebasing submit strategies. For the cherry-pick strategy no additional changes are included.

If change.submitWholeTopic is enabled, also all changes of the topic and their parents are included.

  • Method Details

    • wholeTopicEnabled

      public static boolean wholeTopicEnabled(org.eclipse.jgit.lib.Config config)
    • setMergeOpRepoManager

      @CanIgnoreReturnValue public MergeSuperSet setMergeOpRepoManager(MergeOpRepoManager orm)
    • completeChangeSet

      public ChangeSet completeChangeSet(Change change, CurrentUser user, boolean includingTopicClosure) throws IOException, PermissionBackendException
      Gets the ChangeSet of this change based on visiblity of the user. if change.submitWholeTopic is true, we return the topic closure as well as the dependent changes of the topic closure. Otherwise, we return just the dependent changes.
      Parameters:
      change - the change for which we get the dependent changes / topic closure.
      user - the current user for visibility purposes.
      includingTopicClosure - when true, return as if change.submitWholeTopic = true, so we return the topic closure.
      Returns:
      ChangeSet object that represents the dependent changes and/or topic closure of the requested change.
      Throws:
      IOException
      PermissionBackendException