Class 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 Detail

      • wholeTopicEnabled

        public static boolean wholeTopicEnabled​(org.eclipse.jgit.lib.Config config)
      • 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