Vcs_git_backend
Vcs_git_backend
is a helper library to build git backends for the Vcs
library based on the Git
cli.
Given the ability to run a git
process, Vcs_git_backend
knows what command to run, how to parse its output and how to interpret its exit code to turn it into a typed result.
Vcs_git_backend
is not meant to be used directly by a user. Rather it is one of the building blocks involved in creating a git backend for the Vcs
library.
Vcs_git_backend
has currently two instantiations as part of its distribution (packaged separately to keep the dependencies isolated).
Eio
runtimeStdlib.Unix
runtime, for blocking programs.We make some efforts to rely on stable and machine friendly output when one is available and documented in the git
cli man pages, but this is not always possible, so the implementation uses some kind of best effort strategy. Also, to avoid running into git version
issues, we're trying to rely on git commands that have been there for a while.
module Runtime : sig ... end
Defining the interface of a compatible runtime.
module Trait : sig ... end
The list of traits that are implemented in Vcs_git_backend
.
Create a backend based on a runtime.
module type S = sig ... end
The rest of the modules are functors that are parametrized by your Runtime
. Given the ability to run a git command line, this modules return a backend implementation for each of the traits defined by the Vcs
library. The individual functors are exposed for convenience.
module Add : sig ... end
module Branch : sig ... end
module Commit : sig ... end
module Config : sig ... end
module Init : sig ... end
module Log : sig ... end
module Ls_files : sig ... end
module Name_status : sig ... end
module Num_status : sig ... end
module Refs : sig ... end
module Rev_parse : sig ... end
module Show : sig ... end
module Private : sig ... end