Vcs.Repo_root
type t = Vcs.Repo_root.t
include Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
include module type of Vcs.Repo_root with type t := t
val hash : t -> int
val seeded_hash : int -> t -> int
val sexp_of_t : t -> Sexplib0.Sexp.t
val to_string : t -> string
Given that t = string
in the implementation, this function is just the identity.
val of_string : string -> (t, [ `Msg of string ]) Stdlib.Result.t
of_string str
returns Ok str
if X.invariant str = true
, and an error otherwise. This is meant to be used to validate untrusted entries.
val v : string -> t
v str
is a convenient wrapper to build a t
or raise Invalid_argument
. This is typically handy for applying on trusted literals.
val of_absolute_path : Fpath_sexp0.Absolute_path.t -> t
val to_absolute_path : t -> Fpath_sexp0.Absolute_path.t
val relativize : t -> Fpath_sexp0.Absolute_path.t -> Vcs.Path_in_repo.t option
Given an absolute path that is under this repository, returns its relative repo path. This returns None
if the supplied absolute path doesn't point to a path within this repository.
val append : t -> Vcs.Path_in_repo.t -> Fpath_sexp0.Absolute_path.t
This is useful to access file on the file system.
include Base.Comparable.S with type t := t
val comparator : (t, comparator_witness) Base__Comparator.comparator