Module Vcs.Refs

module Line : sig ... end
type t = Line.t Base.list
include module type of Vcs.Refs with type t := t and module Line := Vcs.Refs.Line
val sexp_of_t : t -> Sexplib0.Sexp.t
val equal : t -> t -> bool

Accessors

val tags : t -> Base.Set.M(Vcs_base__.Tag_name).t
val local_branches : t -> Base.Set.M(Vcs_base__.Branch_name).t
val remote_branches : t -> Base.Set.M(Vcs_base__.Remote_branch_name).t
val to_map : t -> Vcs.Rev.t Base.Map.M(Vcs_base__.Ref_kind).t

To lookup the revision of references (branch, tag, etc.), it is usually quite cheap to get all refs using Vcs.refs, turn the result into a map with this function, and use the map for the lookups rather than trying to run one git command per lookup. You may also use Vcs.Graph.find_ref if you build the complete graph with Vcs.graph.