Skip to content

Makefile: Use Gitaly's tagged Git versions instead of ad-hoc patching

Right now, the way we apply Git patches is by adding them to the Gitaly project and using git-apply(1) to apply them ad-hoc. This is starting to show its limits though:

- It is hard for us to provide a simple pointer to the Git sources
  that we distribute to the customer.

- It is hard to execute tests for the patched Git version in an
  automated fashion.

- It is hard to work on top of the already-patched Git distribution
  to for example apply more patches.

These limitations are getting more noticeable now that we have split up the Gitaly team into two teams, where we potentially want to backport patches more aggressively.

With the split we have now made the repository at 1 the canonical Git repository for all our efforts. This indeed opens up a much better way to use custom Git versions: instead of hosting the patches in the Gitaly repository, we start to tag Gitaly-specific releases in that repository. These releases then carry all the additional patches on top.

This makes it trivial to use normal workflows:

- We can point customers to the Gitaly-specific tags which hold our
  patches on top.

- We can automatically trigger CI pipelines on top of patched
  Gitaly-specific releases by just pushing branches or tags.

- You can just clone the repository and checkout out the specific
  tags.

Drop the infrastructure to patch releases in-place in favor of this new architecture.

Merge request reports