Page
Library
Module
Module type
Parameter
Class
Class type
Source
Dune_release.VcsVCS repositories.
val pp_kind : Format.formatter -> kind -> unitpp_kind ppf k prints an unspecified representation of k on ppf.
The type for symbols resolving to a commit. The module uses "HEAD" for specifying the current checkout; use this symbol even if the underlying VCS is `Hg.
val dir : t -> Fpath.tdir r is r's repository directory.
cmd r is the base VCS command to use to act on r.
Warning Prefer the functions below to remain VCS independent.
val find : ?dir:Fpath.t -> unit -> (t option, Rresult.R.msg) Rresult.resultfind ~dir () looks for a VCS repository in working directory dir (not the repository directory like .git, default is guessed automatically).
val get : ?dir:Fpath.t -> unit -> (t, Rresult.R.msg) Rresult.resultget is like find but returns an error if no VCS was found.
val pp : Format.formatter -> t -> unitpp ppf r prints an unspecified representation of r on ppf.
val is_dirty : t -> (bool, Rresult.R.msg) Rresult.resultis_dirty r is Ok true iff the working tree of r has uncommited changes.
val not_dirty : t -> (unit, Rresult.R.msg) Rresult.resultnot_dirty is Ok () iff the working directory of r is not dirty and an error that enjoins to stash or commit otherwise.
val file_is_dirty : t -> Fpath.t -> (bool, Rresult.R.msg) Rresult.resultfile_id_dirty r f is Ok true iff f has uncommited changes.
val head : ?dirty:bool -> t -> (string, Rresult.R.msg) Rresult.resulthead ~dirty r is the HEAD commit identifier of the repository r. If dirty is true (default), and indicator is appended to the commit identifier if the working tree of r is_dirty.
val commit_id :
?dirty:bool ->
?commit_ish:commit_ish ->
t ->
(string, Rresult.R.msg) Rresult.resultcommit_id ~dirty ~commit_ish r is the object name (identifier) of commit_ish (defaults to "HEAD"). If commit_ish is "HEAD" and dirty is true (default) and indicator is appended to the identifier if the working tree is dirty.
val commit_ptime_s :
dry_run:bool ->
?commit_ish:commit_ish ->
t ->
(int, Rresult.R.msg) Rresult.resultcommit_ptime_s t ~commit_ish is the POSIX time in seconds of commit commit_ish (defaults to "HEAD") of repository r.
val describe :
?dirty:bool ->
?commit_ish:commit_ish ->
t ->
(string, Rresult.R.msg) Rresult.resultdescribe ~dirty ~commit_ish r identifies commit_ish (defaults to "HEAD") using tags from the repository r. If commit_ish is "HEAD" and dirty is true (default) an indicator is appended to the identifier if the working tree is dirty.
val tags : t -> (string list, Rresult.R.msg) Rresult.resulttags r is the list of tags in the repo r.
val tag_exists : dry_run:bool -> t -> string -> boolval branch_exists : dry_run:bool -> t -> string -> boolval changes :
?until:commit_ish ->
t ->
after:commit_ish ->
((string * string) list, Rresult.R.msg) Rresult.resultchanges r ~after ~until is the list of commits with their one-line message from commit-ish after to commit-ish until (defaults to "HEAD").
val tracked_files :
?tree_ish:string ->
t ->
(Fpath.t list, Rresult.R.msg) Rresult.resulttracked_files ~tree_ish r are the files tracked by the tree object tree_ish (defaults to "HEAD").
val clone :
dry_run:bool ->
?force:bool ->
?branch:string ->
dir:Fpath.t ->
t ->
(unit, Rresult.R.msg) Rresult.resultclone ~dir r clones r in directory dir.
val checkout :
dry_run:bool ->
?branch:string ->
t ->
commit_ish:commit_ish ->
(unit, Rresult.R.msg) Rresult.resultcheckout r ~branch commit_ish checks out commit_ish. Checks out in a new branch branch if provided.
val commit_files :
dry_run:bool ->
?msg:string ->
t ->
Fpath.t list ->
(unit, Rresult.R.msg) Rresult.resultcommit_files r ~msg files commits the file files with message msg (if unspecified the VCS should prompt).
val tag :
dry_run:bool ->
?force:bool ->
?sign:bool ->
?msg:string ->
?commit_ish:string ->
t ->
string ->
(unit, Rresult.R.msg) Rresult.resulttag r ~force ~sign ~msg ~commit_ish t tags commit_ish with t and message msg (if unspecified the VCS should prompt). if sign is true (defaults to false) signs the tag (`Git repos only). If force is true (default to false) doesn't fail if the tag already exists.
val delete_tag :
dry_run:bool ->
t ->
string ->
(unit, Rresult.R.msg) Rresult.resultdelete_tag r t deletes tag t in repo r.