Vcs.Refsmodule Line : sig ... endtype t = Line.t Base.listinclude module type of Volgo.Vcs.Refs
with type t := t
and module Line := Volgo.Vcs.Refs.Lineval sexp_of_t : t -> Sexplib0.Sexp.tval tags : t -> Base.Set.M(Volgo_base__.Tag_name).tval local_branches : t -> Base.Set.M(Volgo_base__.Branch_name).tval remote_branches : t -> Base.Set.M(Volgo_base__.Remote_branch_name).tval to_map : t -> Volgo.Vcs.Rev.t Base.Map.M(Volgo_base__.Ref_kind).tTo 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.