`sig module type VCS = sig val exists : OpamTypes.repository -> bool val init : OpamTypes.repository -> unit OpamProcess.job val fetch : OpamTypes.repository -> unit OpamProcess.job val reset : OpamTypes.repository -> unit OpamProcess.job val diff : OpamTypes.repository -> bool OpamProcess.job val revision : OpamTypes.repository -> string OpamProcess.job val versionned_files : OpamTypes.repository -> string list OpamProcess.job end module Make : functor (VCS : VCS) -> OpamRepository.BACKEND end`