package irmin-pack
Irmin backend which stores values in a pack file
Install
Dune Dependency
Authors
Maintainers
Sources
irmin-3.1.0.tbz
sha256=d84fa343a841f663969ed6b08e5fc1b704d3ab7974858aa29471fe291a6a2f86
sha512=ab5eb4bd08ab69b97c8b9a72181c5b59d3d515e4ba63550d8a4551ec8ea72cd2d3b302fe0812379553e52891f81a9ae5d4d668382155d9c6c6eb75844a48477e
doc/src/irmin-pack.unix/checks_intf.ml.html
Source file checks_intf.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
(* * Copyright (c) 2018-2021 Tarides <contact@tarides.com> * * 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. *) open! Import type empty = | module type Subcommand = sig type run val run : run val term_internal : (unit -> unit) Cmdliner.Term.t (** A pre-packaged [Cmdliner] term for executing {!run}. *) val term : unit Cmdliner.Term.t * Cmdliner.Term.info (** [term] is {!term_internal} plus documentation and logs initialisation *) end module type S = sig (** Reads basic metrics from an existing store and prints them to stdout. *) module Stat : sig include Subcommand with type run := root:string -> unit Lwt.t (** Internal implementation utilities exposed for use in other integrity checks. *) type size = Bytes of int [@@deriving irmin] type io = { size : size; offset : int63; version : Version.t } [@@deriving irmin] type files = { pack : io option; branch : io option; dict : io option } [@@deriving irmin] type objects = { nb_commits : int; nb_nodes : int; nb_contents : int } [@@deriving irmin] val v : root:string -> files val traverse_index : root:string -> int -> objects end module Reconstruct_index : Subcommand with type run := root:string -> output:string option -> ?index_log_size:int -> unit -> unit (** Rebuilds an index for an existing pack file *) (** Checks the integrity of a store *) module Integrity_check : sig include Subcommand with type run := root:string -> auto_repair:bool -> unit Lwt.t val handle_result : ?name:string -> ( [< `Fixed of int | `No_error ], [< `Cannot_fix of string | `Corrupted of int ] ) result -> unit end (** Checks the integrity of the index in a store *) module Integrity_check_index : sig include Subcommand with type run := root:string -> auto_repair:bool -> unit -> unit end (** Checks the integrity of inodes in a store *) module Integrity_check_inodes : sig include Subcommand with type run := root:string -> heads:string list option -> unit Lwt.t end (** Traverses a commit to get stats on its underlying tree. *) module Stats_commit : sig include Subcommand with type run := root:string -> commit:string option -> dump_blob_paths_to:string option -> unit -> unit Lwt.t end val cli : ?terms:(unit Cmdliner.Term.t * Cmdliner.Term.info) list -> unit -> empty (** Run a [Cmdliner] binary containing tools for running offline checks. [terms] defaults to the set of checks in this module. *) end module type Store = sig include Irmin.S include Irmin_pack.S with type repo := repo and type commit := commit end type integrity_error = [ `Wrong_hash | `Absent_value ] module type Sigs = sig type integrity_error = [ `Wrong_hash | `Absent_value ] type nonrec empty = empty val setup_log : unit Cmdliner.Term.t val path : string Cmdliner.Term.t module type Subcommand = Subcommand module type S = S module Make (_ : Store) : S module Index (Index : Pack_index.S) : sig val integrity_check : ?ppf:Format.formatter -> auto_repair:bool -> check: (kind:[> `Commit | `Contents | `Node ] -> offset:int63 -> length:int -> Index.key -> (unit, [< `Absent_value | `Wrong_hash ]) result) -> Index.t -> ( [> `Fixed of int | `No_error ], [> `Cannot_fix of string | `Corrupted of int ] ) result end module Stats (S : sig type step val step_t : step Irmin.Type.t module Hash : Irmin.Hash.S end) : sig type t val v : unit -> t val visit_commit : t -> S.Hash.t -> unit val visit_contents : t -> S.Hash.t -> unit val visit_node : t -> S.Hash.t -> (S.step option * [ `Contents of S.Hash.t | `Inode of S.Hash.t | `Node of S.Hash.t ]) list -> nb_children:int -> width:int -> unit val pp_results : dump_blob_paths_to:string option -> t -> unit end end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>