Skip to content

Support Gitaly's DiffService.DiffBlobs RPC

Ahmed Hemdan requested to merge support-gitaly-diff-service-diff-blobs-rpc into master

What does this MR do and why?

This merge request adds support for Gitaly's newly introduced DiffService.DiffBlobs() RPC:

  • Introduced a new entity to represent DiffBlob objects.
  • Introduced a new service, i.e. DiffService in Gitlab::GitalyClient.
  • Introduced a new class to stitch DiffBlob objects together as DiffBlobsResponse is streamed back from Gitaly.

This builds the groundwork necessary for !158984 (merged) which updates Secret Push Protection to scan diffs instead of entire files.

Note: This requires Gitaly v17.2+, as patch_bytes_limit (used to filter out diffs larger than 1MB) was added in the 17.2 release.

Resolves #469161 (closed) partially.

MR acceptance checklist

I have evaluated this MR against the MR acceptance checklist.

Edited by Ahmed Hemdan

Merge request reports

Loading