RHGitaly: reading GitLab ref state files, implementing RefService.RefExists
This MR provides the core utilities that will more generally allow to resolve all GitLab single revisions into a changeset hash, and then proceeds to implemenent RefExists
.
RefExists
is both the simplest possible of read requests involving GitLab refs, and a fairly common one (see #128 (closed)), so this is already useful in itself.
With its closures, the high-level utility gitlab::revision::map_full_ref
allows to fulfill the RefExists
implementation without even converting to binary Node
s. There is in effect nothing calling into Mercurial (hg-core
) in this MR.
Try cargo doc --open
, the rhgitaly::gitlab
module documentation is supposed to be correctly formatted (and fully explained).