`sig
type kind = [ `Git | `Hg ]
val pp_kind : Stdlib.Format.formatter -> Topkg.Vcs.kind -> unit
type commit_ish = string
type t
val kind : Topkg.Vcs.t -> Topkg.Vcs.kind
val dir : Topkg.Vcs.t -> Topkg.fpath
val cmd : Topkg.Vcs.t -> Topkg.Cmd.t
val find : ?dir:Topkg.fpath -> unit -> Topkg.Vcs.t option Topkg.result
val get : ?dir:Topkg.fpath -> unit -> Topkg.Vcs.t Topkg.result
val pp : Stdlib.Format.formatter -> Topkg.Vcs.t -> unit
val is_dirty : Topkg.Vcs.t -> bool Topkg.result
val not_dirty : Topkg.Vcs.t -> unit Topkg.result
val file_is_dirty : Topkg.Vcs.t -> Topkg.fpath -> bool Topkg.result
val head : ?dirty:bool -> Topkg.Vcs.t -> string Topkg.result
val commit_id :
?dirty:bool ->
?commit_ish:Topkg.Vcs.commit_ish -> Topkg.Vcs.t -> string Topkg.result
val commit_ptime_s :
?commit_ish:Topkg.Vcs.commit_ish -> Topkg.Vcs.t -> int Topkg.result
val describe :
?dirty:bool ->
?commit_ish:Topkg.Vcs.commit_ish -> Topkg.Vcs.t -> string Topkg.result
val tags : Topkg.Vcs.t -> string list Topkg.result
val changes :
?until:Topkg.Vcs.commit_ish ->
Topkg.Vcs.t ->
after:Topkg.Vcs.commit_ish -> (string * string) list Topkg.result
val tracked_files :
?tree_ish:string -> Topkg.Vcs.t -> Topkg.fpath list Topkg.result
val clone : Topkg.Vcs.t -> dir:Topkg.fpath -> unit Topkg.result
val checkout :
?branch:string ->
Topkg.Vcs.t -> commit_ish:Topkg.Vcs.commit_ish -> unit Topkg.result
val commit_files :
?msg:string -> Topkg.Vcs.t -> Topkg.fpath list -> unit Topkg.result
val tag :
?force:bool ->
?sign:bool ->
?msg:string ->
?commit_ish:string -> Topkg.Vcs.t -> string -> unit Topkg.result
val delete_tag : Topkg.Vcs.t -> string -> unit Topkg.result
end`