Library
Module
Module type
Parameter
Class
Class type
Version control system repositories.
val pp_kind : Format.formatter -> kind -> unit
pp_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
.
cmd r
is the base VCS command to use to act on r
.
Warning Prefer the functions below to remain VCS independent.
find ~dir ()
looks for a VCS repository in working directory dir
(not the repository directory like .git
, default is guessed automatically).
val pp : Format.formatter -> t -> unit
pp ppf r
prints an unspecified representation of r
on ppf
.
is_dirty r
is Ok true
iff the working tree of r
has uncommited changes.
not_dirty
is Ok ()
iff the working directory of r
is not dirty and an error that enjoins to stash or commit otherwise.
file_id_dirty r f
is Ok true
iff f
has uncommited changes.
head ~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 result
commit_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 : ?commit_ish:commit_ish -> t -> int result
commit_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 result
describe ~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 changes :
?until:commit_ish ->
t ->
after:commit_ish ->
(string * string) list result
changes r ~after ~until
is the list of commits with their one-line message from commit-ish after
to commit-ish until
(defaults to "HEAD"
).
tracked_files ~tree_ish r
are the files tracked by the tree object tree_ish
(defaults to "HEAD"
).
val checkout : ?branch:string -> t -> commit_ish:commit_ish -> unit result
checkout r ~branch commit_ish
checks out commit_ish
. Checks out in a new branch branch
if provided.
commit_files r ~msg files
commits the file files
with message msg
(if unspecified the VCS should prompt).
val tag :
?force:bool ->
?sign:bool ->
?msg:string ->
?commit_ish:string ->
t ->
string ->
unit result
tag 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.