Skip to content

Refactor PostReceive to be more readable

Patrick Bajao requested to merge pb-refactor-post-receive into master

What does this MR do?

This refactors the implementation of gathering/iterating changes from the post-receive hook to be a bit more readable (removed the need for calling enum_for(:changes_refs) in different places).

This is done with the help of the new Gitlab::Git::Changes collection object which will be used while parsing the changes.

Also changed the signature of BranchPushService and TagPushService to accept a single change param instead of having oldrev, newrev and ref params.

This also prepares the PostReceive worker to be able to process branches and tags separately so we'll be able to aggregate events by branches or tags. It'll be useful for #31007 (closed) and #31009 (closed).

Does this MR meet the acceptance criteria?

Conformity

Performance and Testing

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
Edited by Patrick Bajao

Merge request reports