storage: Refactor code to contain knowledge of repo paths in a single package
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 theGitRepo
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