Module type Git.S

This is the interface commonly used by raising and non-raising helper modules, such as Vcs.Git, Volgo_base.Vcs.Git.Or_error, Vcs.Git.Result, Vcs.Git.Rresult, and custom ones built with Vcs.Git.Non_raising.Make. S is parametrized by the result type returned by the helpers.

Helpers to wrap process outputs.

type 'a result
val exit0 : Output.t -> unit result
val exit0_and_stdout : Output.t -> string result
val exit_code : Output.t -> accept:(int * 'a) list -> 'a result

A convenient wrapper to write exhaustive match on a result conditioned by a list of accepted exit codes. If the exit code is not part of the accepted list, the function takes care of returning an error of the expected result type.