Module S.Commit

type hash = hash
type nonrec t = hash Commit.t
val make : tree:hash -> author:User.t -> committer:User.t -> ?parents:hash list -> ?extra:(string * string list) list -> string option -> t

make ~author ~committer ?parents ~tree msg makes an OCaml value t. ?parents should be a non-empty list and corresponds to a list of hashes of parent commits. tree should be a hash of a Tree.t object.

Note. This function does not write a new commit on the store and does not check the validity of parents and tree. By this way, this function never fails.

val format : t Encore.t

format is a description of how to encode/decode of t object.

val digest : t -> hash

digest t associates a hash to any value of t. It is guaranteed that if x = y or compare x y = 0, then digest x = digest y.

val pp : t Fmt.t

Pretty-printer of t.

val compare : t -> t -> int

The comparison function for t.

val hash : t -> int

hash blob associates a non-negative integer to any value of t. It is guaranteed that if x = y or compare x y = 0, then hash x = hash y.

val equal : t -> t -> bool

The equal function for t.

Sets and Maps.

module Set : Stdlib.Set.S with type elt = t
module Map : Stdlib.Map.S with type key = t
val length : t -> int64

length t returns the length of the given commit object.

val parents : t -> hash list

parents t returns all parents of the given commit object.

val tree : t -> hash

tree t returns the hash of top-level Tree.t of the given commit object.

val committer : t -> User.t

committer t returns the committer of the given commit object.

val author : t -> User.t

author c returns the author of the given commit object.

val message : t -> string option

message c returns the message of the given commit object.

val extra : t -> (string * string list) list
val compare_by_date : t -> t -> int

compare_by_date a b compares commit objects a and b by the date of the author. The compare function as the same behaviour.