Skip to content

storage: Refactor code to contain knowledge of repo paths in a single package

Patrick Steinhardt requested to merge pks-storage-repository into master

Our knowledge and interfaces around repository paths is currently distributed across five packages:

  • internal/git/stats contains information about the paths that object pools use as dictated by Rails.
  • internal/praefect/praefectutil contains information about the paths that object pools use as dictated by Praefect.
  • internal/git/repository contains the GitRepo interface which provides functionality to locate repositories.
  • internal/gitaly/storage contains much of the business logic around paths in general.
  • internal/helper provides a helper function to check whether two repositories have the same path.

This is kind of convoluted, making it hard to identify all these different parts. This MR thus refactors the code so that all of the logic is neatly contained in the internal/gitaly/storage package.

Edited by Patrick Steinhardt

Merge request reports