12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667(*
* Copyright (c) 2013-2022 Thomas Gazagnaire <thomas@gazagnaire.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*)(** {1 Commit Info} *)moduletypeS=sigtypeauthor=string[@@derivingirmin]typemessage=string[@@derivingirmin]typet[@@derivingirmin](** The type for commit info. *)valv:?author:author->?message:message->int64->t(** Create a new commit info. *)valdate:t->int64(** [date t] is [t]'s commit date.
The date provided by the user when calling the {!v} function. Rounding
[Unix.gettimeofday ()] (when available) is a good value for such date. On
more esoteric platforms, any monotonic counter is a fine value as well. On
the Git backend, the date is translated into the commit {e Date} field and
is expected to be the number of POSIX seconds (thus not counting leap
seconds) since the Epoch. *)valauthor:t->author(** [author t] is [t]'s commit author.
The author identifies the entity (human, unikernel, process, thread, etc)
performing an operation. For the Git backend, this will be directly
translated into the {e Author} field. *)valmessage:t->message(** [message t] is [t]'s commit message. *)valempty:t(** The empty commit info. *)(** {1 Info Functions} *)typef=unit->t(** Alias for functions which can build commit info. *)valnone:f(** The empty info function. [none ()] is [empty] *)endmoduletypeSigs=sigmoduletypeS=SmoduleDefault:Stypedefault=Default.tend