Bootstrap the hgitaly project
Gitaly is a gRPC based protocol introduced by GitLab to provide all the Git repository handling capabilities that GitLab needs.
Our plan for sustainable Mercurial integration within GitLab is to produce an implementation of Gitaly for Mercurial repos. This way, most of GitLab application layers won't even need to know that they are working with Mercurial instead of Git. This is the continuation of what we've been doing with
hg-git, except that we won't need to convert to an actual Git repo under the hood.
hgitaly project will be implemented in Python3 and should take the form of a Mercurial extension. Starting the server will be something like
hg gitaly --repositories-root REPOSITORIES_ROOT [standard options for gRPC servers (binds etc)]
Here are the steps for the bootstrap:
- create the project on dev.heptapod.net
- produce the Python gRPC library from the Gitaly protobuf, in the appropriate version for current Heptapod
reuse and convert to Python3 the test helpers that are currently part of
py-heptapodbut Python2 only
- implement a first, very simple call and have it fully tested
- CI configuration with coverage