Package com.google.gerrit.server.submit
Interface MergeSuperSetComputation
- All Known Implementing Classes:
LocalMergeSuperSetComputation
public interface MergeSuperSetComputation
Interface to compute the merge super set to detect changes that should be submitted together.
E.g. to speed up performance implementations could decide to do the computation in batches in parallel on different server nodes.
-
Method Summary
Modifier and TypeMethodDescriptioncompleteWithoutTopic
(MergeOpRepoManager orm, ChangeSet changeSet, CurrentUser user) Compute the set of changes that should be submitted together.
-
Method Details
-
completeWithoutTopic
ChangeSet completeWithoutTopic(MergeOpRepoManager orm, ChangeSet changeSet, CurrentUser user) throws IOException, PermissionBackendException 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.
- Parameters:
orm
-MergeOpRepoManager
that should be used to access repositorieschangeSet
- A set of changes for which it is known that they should be submitted togetheruser
- The user for which the visibility checks should be performed- Returns:
- the completed set of changes that should be submitted together
- Throws:
IOException
PermissionBackendException
-