Volgo_git_backendVolgo_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, Volgo_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.
Volgo_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.
Volgo_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 ... endDefining the interface of a compatible runtime.
module Trait : sig ... endThe list of traits that are implemented in Volgo_git_backend.
Create a backend based on a runtime.
module type S = sig ... endThe 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 ... endmodule Branch : sig ... endmodule Commit : sig ... endmodule Config : sig ... endmodule Current_branch : sig ... endmodule Current_revision : sig ... endmodule Init : sig ... endmodule Log : sig ... endmodule Ls_files : sig ... endmodule Name_status : sig ... endmodule Num_status : sig ... endmodule Refs : sig ... endmodule Show : sig ... endmodule Private : sig ... end