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.
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 current_branch :
< Volgo__.Trait.rev_parse.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
(Branch_name.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
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