module type Repo =
Repoprovides operations on repositories.
val init :
?root:string -> ?bare:bool -> unit -> repo Lwt.t
rootis the local git repository's root directory. If unset, the current working directory is chosen to be the root.
bareis set (unset by default), the git repository is made to be bare. Otherwise, the contents are expanded into the local filesystem on each update. This can cause performance issues on write heavy workloads.
val master :
repo -> branch Lwt.t
master repofetches the master branch of the repository.
val get_branch :
repo -> branch_name:string -> branch Lwt.t
get_branch repo bfetches the branch
bby name. If branch
bdoes not already exist, then the branch will be created and a handle to it returned.
val get_branch_name :
branch -> string option Lwt.t
Noneif the branch is not persistent.
val clone_force :
branch -> string -> branch Lwt.t
clone_force b nclones the branch
bnaming the new branch
n. If a branch named
nexists, then that branch will be overwritten.
val merge :
branch -> into:branch -> unit Lwt.t
merge w mmerges branch
m. Merge will always succeed. After the merge the branch
wcontinues to exist.
val predecessors :
repo -> branch -> branch list Lwt.t
val update_branch :
branch -> set:branch -> unit Lwt.t
update_branch b supdates the head of the branch
bto the head of the branch
val install_listener :
unit -> unit
Syncprovides functionality to sync with remote repositories.