Vcs.Rresult
An Vcs
API in the style of Rresult.
val sexp_of_err : err -> Sexplib0.Sexp.t
type 'a t = ('a, err) Stdlib.Result.t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
type 'a result = 'a t
This part exposes the functions prescribed by the Rresult usage design guidelines.
val open_error : 'a result -> ('a, [> `Vcs of Err.t ]) Stdlib.Result.t
val error_to_msg : 'a result -> ('a, [ `Msg of string ]) Stdlib.Result.t
The individual functions are documented the Vcs
module.
val init :
< Volgo__.Trait.init.. > Volgo__.Vcs0.t ->
path:Fpath_sexp0.Absolute_path.t ->
Volgo__.Repo_root.t result
val find_enclosing_git_repo_root :
< Volgo__.Trait.file_system.. > Volgo__.Vcs0.t ->
from:Fpath_sexp0.Absolute_path.t ->
Volgo__.Repo_root.t option result
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 result
val add :
< Volgo__.Trait.add.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
path:Path_in_repo.t ->
unit result
val current_branch :
< Volgo__.Trait.rev_parse.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
Branch_name.t result
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 result
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 ] result
val load_file :
< Volgo__.Trait.file_system.. > Volgo__.Vcs0.t ->
path:Fpath_sexp0.Absolute_path.t ->
string result
val save_file :
?perms:int ->
< Volgo__.Trait.file_system.. > Volgo__.Vcs0.t ->
path:Fpath_sexp0.Absolute_path.t ->
file_contents:string ->
unit result
val read_dir :
< Volgo__.Trait.file_system.. > Volgo__.Vcs0.t ->
dir:Fpath_sexp0.Absolute_path.t ->
Fpath_sexp0.Fsegment.t list result
val rename_current_branch :
< Volgo__.Trait.branch.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
to_:Branch_name.t ->
unit result
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 result
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 result
val log :
< Volgo__.Trait.log.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
Log.Line.t list result
val refs :
< Volgo__.Trait.refs.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
Refs.Line.t list result
val graph :
< Volgo__.Trait.log ; Volgo__.Trait.refs.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
Volgo__.Graph.t result
val set_user_name :
< Volgo__.Trait.config.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
user_name:Volgo__.User_name.t ->
unit result
val set_user_email :
< Volgo__.Trait.config.. > Volgo__.Vcs0.t ->
repo_root:Volgo__.Repo_root.t ->
user_email:Volgo__.User_email.t ->
unit result
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 result) ->
'a result
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 result) ->
'a result