Vcs.Path_in_repo
A path for a file versioned in a repository.
This is a wrapper for a Fpath.t
relative to the repo root, used for accrued type safety.
include Ppx_compare_lib.Comparable.S with type t := t
include Ppx_compare_lib.Equal.S with type t := t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Base.Comparable.S with type t := t
val comparator : (t, comparator_witness) Base__Comparator.comparator
val to_string : t -> Base.string
Given that t = string
in the implementation, this function is just the identity.
val of_string : Base.string -> (t, [ `Msg of Base.string ]) Base.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 : Base.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 root : t
val to_fpath : t -> Fpath_base.Fpath.t
val to_relative_path : t -> Fpath_base.Relative_path.t
val of_relative_path : Fpath_base.Relative_path.t -> t