sig
  type t = [ `Git | `Hg ]
  val exists :
    Assemblage.Cmd.path -> Assemblage.Cmd.Vcs.t -> bool Assemblage.Cmd.result
  val find :
    Assemblage.Cmd.path -> Assemblage.Cmd.Vcs.t option Assemblage.Cmd.result
  val get : Assemblage.Cmd.path -> Assemblage.Cmd.Vcs.t Assemblage.Cmd.result
  val head :
    ?dirty:bool ->
    Assemblage.Cmd.path ->
    Assemblage.Cmd.Vcs.t -> string Assemblage.Cmd.result
  val describe :
    ?dirty:bool ->
    Assemblage.Cmd.path ->
    Assemblage.Cmd.Vcs.t -> string Assemblage.Cmd.result
end