Refactor processing of ref changes in PostReceive
What does this MR do?
To support creating push events in bulk and aggregate them by type (branch or tag) and action (created, pushed, deleted), we need to be able to segregate the changes into groups.
Having that inside the PostReceive
worker class will increase its reponsibility further. To help with that, a new service called Git::ProcessRefChangesService
has been added.
It's now responsible for processing branch/tag changes and delegate it to the appropriate push service class.
This will be later on used to determime whether we need to create individual or bulk push events in #31007 (closed).
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation created/updated or follow-up review issue created
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Performance and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team