Vcs_git_provider
Vcs_git_provider
is a helper library to build git providers for the Vcs
library.
Given the ability to run a git
process, Vcs_git_provider
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_provider
is not meant to be used directly by a user. Rather it is one of the building blocks involved in creating a git provider for the Vcs
library.
Vcs_git_provider
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 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 provider implementation for each of the traits defined by the Vcs
library. The individual functors are exposed for convenience.
module Add : sig ... end
A provider implementation for Vcs.Trait.Add
.
module Branch : sig ... end
A provider implementation for Vcs.Trait.Branch
.
module Commit : sig ... end
A provider implementation for Vcs.Trait.Commit
.
module Config : sig ... end
A provider implementation for Vcs.Trait.Config
.
module Init : sig ... end
A provider implementation for Vcs.Trait.Init
.
module Log : sig ... end
A provider implementation for Vcs.Trait.Log
.
module Ls_files : sig ... end
A provider implementation for Vcs.Trait.Ls_files
.
module Name_status : sig ... end
A provider implementation for Vcs.Trait.Name_status
.
module Num_status : sig ... end
A provider implementation for Vcs.Trait.Num_status
.
module Refs : sig ... end
A provider implementation for Vcs.Trait.Refs
.
module Rev_parse : sig ... end
A provider implementation for Vcs.Trait.Rev_parse
.
module Show : sig ... end
A provider implementation for Vcs.Trait.Show
.
module Private : sig ... end