Checks.Integrity_checks
module XKey : Pack_key.S
module X :
Irmin.Backend.S
with type Commit.key = XKey.t
and type Node.key = XKey.t
and type Schema.Hash.t = XKey.hash
module Index : sig ... end
val check_always :
?ppf:Stdlib.Format.formatter ->
auto_repair:bool ->
check:
(kind:[> `Commit | `Contents | `Node ] ->
offset:Optint.Int63.t ->
length:int ->
Index.key ->
(unit, [< `Absent_value | `Wrong_hash ]) Stdlib.result) ->
Index.t ->
([> `Fixed of int | `No_error ],
[> `Cannot_fix of string | `Corrupted of int ])
Stdlib.result
val check_minimal :
?ppf:Stdlib.Format.formatter ->
pred:
(X.Node.value ->
(X.Node.Path.step option
* [< `Contents of XKey.t | `Inode of XKey.t | `Node of XKey.t ])
list) ->
iter:
(contents:(XKey.hash Pack_key.t -> unit Lwt.t) ->
node:(XKey.t -> unit Lwt.t) ->
pred_node:
(X.Repo.t ->
XKey.t ->
[> `Contents of XKey.t | `Node of XKey.t ] list Lwt.t) ->
pred_commit:(X.Repo.t -> XKey.t -> [> `Node of XKey.t ] list Lwt.t) ->
X.Repo.t ->
unit Lwt.t) ->
check:
(offset:Optint.Int63.t ->
length:int ->
XKey.hash ->
(unit, [< `Absent_value | `Wrong_hash ]) Stdlib.result) ->
recompute_hash:(X.Node.value -> XKey.hash) ->
X.Repo.t ->
([> `No_error ], [> `Cannot_fix of string ]) Stdlib.result Lwt.t
val check_inodes :
?ppf:Stdlib.Format.formatter ->
iter:
(pred_node:
(X.Repo.t ->
XKey.t ->
[> `Contents of XKey.t | `Node of XKey.t ] as 'a list Lwt.t) ->
node:(XKey.t -> unit Lwt.t) ->
commit:(XKey.t -> unit Lwt.t) ->
X.Repo.t ->
unit Lwt.t) ->
pred:(X.Repo.t -> XKey.t -> 'a list Lwt.t) ->
check:(XKey.t -> (unit, string) Stdlib.result Lwt.t) ->
X.Repo.t ->
([> `No_error ], [> `Cannot_fix of string ]) Stdlib.result Lwt.t