Git object storage and pack files for Eio
1(* Copyright (c) 2013-2017 Thomas Gazagnaire <thomas@gazagnaire.org>
2 Copyright (c) 2017-2024 Romain Calascibetta <romain.calascibetta@gmail.com>
3 Copyright (c) 2024-2026 Thomas Gazagnaire <thomas@gazagnaire.org>
4
5 Permission to use, copy, modify, and distribute this software for any
6 purpose with or without fee is hereby granted, provided that the above
7 copyright notice and this permission notice appear in all copies.
8
9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *)
16
17(** Git object format implementation in pure OCaml.
18
19 This library provides type-safe encoding and decoding of Git objects: blobs,
20 trees, commits, and tags. It is derived from mirage/ocaml-git and
21 robur-coop/carton, simplified for Eio-native usage. *)
22
23module Hash = Hash
24module User = User
25module Blob = Blob
26module Tree = Tree
27module Commit = Commit
28module Tag = Tag
29module Value = Value
30module Reference = Reference
31module Pack = Pack
32module Pack_index = Pack_index
33module Repository = Repository
34module Rev_list = Rev_list
35module Subtree = Subtree
36module Config = Config
37module Index = Index
38module Remote = Remote
39module Diff = Diff
40module Worktree = Worktree