package volgo

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Vcs.RresultSource

An Vcs API in the style of Rresult.

Sourcetype err = [
  1. | `Vcs of Err.t
]
Sourceval sexp_of_err : err -> Sexplib0.Sexp.t
Sourcetype 'a t = ('a, err) Result.t
Sourceval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
Sourcetype 'a result = 'a t

Utils

This part exposes the functions prescribed by the Rresult usage design guidelines.

Sourceval pp_error : Format.formatter -> [ `Vcs of Err.t ] -> unit
Sourceval open_error : 'a result -> ('a, [> `Vcs of Err.t ]) Result.t
Sourceval error_to_msg : 'a result -> ('a, [ `Msg of string ]) Result.t

Non raising API

The individual functions are documented the Vcs module.

Sourceval init : < Volgo__.Trait.init.. > Volgo__.Vcs0.t -> path:Fpath_sexp0.Absolute_path.t -> Volgo__.Repo_root.t result
Sourceval find_enclosing_git_repo_root : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> from:Fpath_sexp0.Absolute_path.t -> Volgo__.Repo_root.t option result
Sourceval 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
Sourceval add : < Volgo__.Trait.add.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> path:Path_in_repo.t -> unit result
Sourceval commit : < Volgo__.Trait.commit ; Volgo__.Trait.current_revision.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> commit_message:Volgo__.Commit_message.t -> Rev.t result
Sourceval current_branch : < Volgo__.Trait.current_branch.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> Branch_name.t result
Sourceval current_revision : < Volgo__.Trait.current_revision.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> Rev.t result
Sourceval 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
Sourceval 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
Sourceval load_file : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> path:Fpath_sexp0.Absolute_path.t -> string result
Sourceval save_file : ?perms:int -> < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> path:Fpath_sexp0.Absolute_path.t -> file_contents:string -> unit result
Sourceval read_dir : < Volgo__.Trait.file_system.. > Volgo__.Vcs0.t -> dir:Fpath_sexp0.Absolute_path.t -> Fpath_sexp0.Fsegment.t list result
Sourceval rename_current_branch : < Volgo__.Trait.branch.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> to_:Branch_name.t -> unit result
Sourceval 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
Sourceval 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
Sourceval log : < Volgo__.Trait.log.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> Log.Line.t list result
Sourceval refs : < Volgo__.Trait.refs.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> Refs.Line.t list result
Sourceval graph : < Volgo__.Trait.log ; Volgo__.Trait.refs.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> Volgo__.Graph.t result
Sourceval set_user_name : < Volgo__.Trait.config.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> user_name:Volgo__.User_name.t -> unit result
Sourceval set_user_email : < Volgo__.Trait.config.. > Volgo__.Vcs0.t -> repo_root:Volgo__.Repo_root.t -> user_email:Volgo__.User_email.t -> unit result
Sourceval 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

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.

Sourceval 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