Class LocalMergeSuperSetComputation

  • All Implemented Interfaces:
    MergeSuperSetComputation

    public class LocalMergeSuperSetComputation
    extends Object
    implements MergeSuperSetComputation
    Default implementation of MergeSuperSet that does the computation of the merge super set sequentially on the local Gerrit instance.
    • Method Detail

      • completeWithoutTopic

        public ChangeSet completeWithoutTopic​(MergeOpRepoManager orm,
                                              ChangeSet changeSet,
                                              CurrentUser user)
                                       throws IOException,
                                              PermissionBackendException
        Description copied from interface: MergeSuperSetComputation
        Compute the set of changes that should be submitted together. As input a set of changes is provided for which it is known that they should be submitted together. This method should complete the set by including open predecessor changes that need to be submitted as well. To decide whether open predecessor changes should be included the method must take the submit type into account (e.g. for changes with submit type "Cherry-Pick" open predecessor changes must not be included).

        This method is invoked iteratively while new changes to be submitted together are discovered by expanding the topics of the changes. This method must not do any topic expansion on its own.

        Specified by:
        completeWithoutTopic in interface MergeSuperSetComputation
        Parameters:
        orm - MergeOpRepoManager that should be used to access repositories
        changeSet - A set of changes for which it is known that they should be submitted together
        user - The user for which the visibility checks should be performed
        Returns:
        the completed set of changes that should be submitted together
        Throws:
        IOException
        PermissionBackendException