Vcs.Platform_repoA type to uniquely identify a repository hosted on a platform.
module Vcs_kind : sig ... endSome platform support hosting Mercurial repositories. We use this type to distinguish.
type t = {platform : Platform.t;vcs_kind : Vcs_kind.t;user_handle : User_handle.t;repo_name : Repo_name.t;}val hash : t -> intval seeded_hash : int -> t -> intval sexp_of_t : t -> Sexplib0.Sexp.tmodule Protocol : sig ... endmodule Ssh_syntax : sig ... endThere are two style of SSH addresses used by popular platforms.
module Url : sig ... endA Url for a platform repo that is suitable to perform vcs operations, such as clone.
val to_url : t -> protocol:Protocol.t -> Url.t