Module Non_raising.Make

The interface exported by Vcs.

'a result is the identity for the raising API, or a type based on Result depending on the API selected by the user in the non-raising APIs.

The individual functions are documented in the Vcs module.

Parameters

module M : M

Signature

val init : < Volgo__.Trait.init.. > Volgo__.Vcs0.t -> path:Fpath_sexp0.Absolute_path.t -> (Volgo__.Repo_root.t, M.t) Stdlib.Result.t
val find_enclosing_git_repo_root : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> from:Fpath_sexp0.Absolute_path.t -> (Volgo__.Repo_root.t option, M.t) Stdlib.Result.t
val find_enclosing_repo_root : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> from:Fpath_sexp0.Absolute_path.t -> store:(Fpath_sexp0.Fsegment.t * 'store) list -> (('store * Volgo__.Repo_root.t) option, M.t) Stdlib.Result.t
val add : < Volgo__.Trait.add.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> path:Path_in_repo.t -> (unit, M.t) Stdlib.Result.t
val commit : < Volgo__.Trait.rev_parse ; Volgo__.Trait.commit.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> commit_message:Volgo__.Commit_message.t -> (Rev.t, M.t) Stdlib.Result.t
val current_branch : < Volgo__.Trait.rev_parse.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> (Branch_name.t, M.t) Stdlib.Result.t
val current_revision : < Volgo__.Trait.rev_parse.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> (Rev.t, M.t) Stdlib.Result.t
val ls_files : < Volgo__.Trait.ls_files.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> below:Path_in_repo.t -> (Path_in_repo.t list, M.t) Stdlib.Result.t
val show_file_at_rev : < Volgo__.Trait.show.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> rev:Rev.t -> path:Path_in_repo.t -> ([ `Present of string | `Absent ], M.t) Stdlib.Result.t
val load_file : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> path:Fpath_sexp0.Absolute_path.t -> (string, M.t) Stdlib.Result.t
val save_file : ?perms:int -> < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> path:Fpath_sexp0.Absolute_path.t -> file_contents:string -> (unit, M.t) Stdlib.Result.t
val read_dir : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> dir:Fpath_sexp0.Absolute_path.t -> (Fpath_sexp0.Fsegment.t list, M.t) Stdlib.Result.t
val rename_current_branch : < Volgo__.Trait.branch.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> to_:Branch_name.t -> (unit, M.t) Stdlib.Result.t
val name_status : < Volgo__.Trait.name_status.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> changed:Volgo__.Name_status.Changed.t -> (Volgo__.Name_status.Change.t list, M.t) Stdlib.Result.t
val num_status : < Volgo__.Trait.num_status.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> changed:Volgo__.Name_status.Changed.t -> (Volgo__.Num_status.Change.t list, M.t) Stdlib.Result.t
val log : < Volgo__.Trait.log.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> (Log.Line.t list, M.t) Stdlib.Result.t
val refs : < Volgo__.Trait.refs.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> (Refs.Line.t list, M.t) Stdlib.Result.t
val graph : < Volgo__.Trait.log ; Volgo__.Trait.refs.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> (Volgo__.Graph.t, M.t) Stdlib.Result.t
val set_user_name : < Volgo__.Trait.config.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> user_name:Volgo__.User_name.t -> (unit, M.t) Stdlib.Result.t
val set_user_email : < Volgo__.Trait.config.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> user_email:Volgo__.User_email.t -> (unit, M.t) Stdlib.Result.t
val git : ?env:string array -> ?run_in_subdir:Path_in_repo.t -> < Volgo__.Trait.git.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> args:string list -> f:(Volgo__.Git.Output.t -> ('a, M.t) Stdlib.Result.t) -> ('a, M.t) Stdlib.Result.t

See the note in Vcs.git about error handling with respect to exceptions raised by f.

Some helpers dedicated to the corresponding result type are provided by the module Vcs.Git. They are convenient to use to build the f parameter.

val hg : ?env:string array -> ?run_in_subdir:Path_in_repo.t -> < Volgo__.Trait.hg.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> args:string list -> f:(Volgo__.Hg.Output.t -> ('a, M.t) Stdlib.Result.t) -> ('a, M.t) Stdlib.Result.t