Skip to content

WIP gitaly_client: plugging in HGitaly in CommitService

This is more complicated than what we've done earlier for RefService:

  • the storage is passed down to GitalyClient.call as @repository.storage. We don't want to change all methods of CommitService because it wouldn't catch future new methods from upstream. Hence we actually re-instantiate @repository, with the VCS-qualified storage, and that requires to accept that in HgGitRepository.

  • only a subset of Commit service methods are actually involved in our first round of HGitaly implementation (getting rid of Git SHAs, see HGitaly1 milestone). We're deciding here that the other methods will use directly the original storage name, that we store as a new instance variable, @git_storage.

    In particular, we're trying to avoid the implementation of the various methods for Commit content (files, trees, diffs…) for the HGitaly1 milestone. This part is WIP (we'll need to convert back to Git revisions to complete it).

Merge request reports