package octez-internal-libs
A package that contains some libraries used by the Octez suite
Install
Dune Dependency
Authors
Maintainers
Sources
tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/src/octez-internal-libs.irmin/sync_intf.ml.html
Source file sync_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
(* * 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. *) module type S = sig (** {1 Native Synchronization} *) type db (** Type type for store handles. *) type commit (** The type for store heads. *) type status = [ `Empty | `Head of commit ] (** The type for remote status. *) type info (** The type for commit info. *) val status_t : db -> status Type.t (** [status_t db] is the value type for {!status} of remote [db]. *) val pp_status : status Fmt.t (** [pp_status] pretty-prints return statuses. *) val fetch : db -> ?depth:int -> Remote.t -> (status, [ `Msg of string ]) result Lwt.t (** [fetch t ?depth r] populate the local store [t] with objects from the remote store [r], using [t]'s current branch. The [depth] parameter limits the history depth. Return [`Empty] if either the local or remote store do not have a valid head. *) val fetch_exn : db -> ?depth:int -> Remote.t -> status Lwt.t (** Same as {!fetch} but raise [Invalid_argument] if either the local or remote store do not have a valid head. *) type pull_error = [ `Msg of string | Merge.conflict ] (** The type for pull errors. *) val pp_pull_error : pull_error Fmt.t (** [pp_pull_error] pretty-prints pull errors. *) val pull : db -> ?depth:int -> Remote.t -> [ `Merge of unit -> info | `Set ] -> (status, pull_error) result Lwt.t (** [pull t ?depth r s] is similar to {{!Sync.fetch} fetch} but it also updates [t]'s current branch. [s] is the update strategy: - [`Merge] uses [Head.merge]. Can return a conflict. - [`Set] uses [S.Head.set]. *) val pull_exn : db -> ?depth:int -> Remote.t -> [ `Merge of unit -> info | `Set ] -> status Lwt.t (** Same as {!pull} but raise [Invalid_arg] in case of conflict. *) type push_error = [ `Msg of string | `Detached_head ] (** The type for push errors. *) val pp_push_error : push_error Fmt.t (** [pp_push_error] pretty-prints push errors. *) val push : db -> ?depth:int -> Remote.t -> (status, push_error) result Lwt.t (** [push t ?depth r] populates the remote store [r] with objects from the current store [t], using [t]'s current branch. If [b] is [t]'s current branch, [push] also updates the head of [b] in [r] to be the same as in [t]. {b Note:} {e Git} semantics is to update [b] only if the new head if more recent. This is not the case in {e Irmin}. *) val push_exn : db -> ?depth:int -> Remote.t -> status Lwt.t (** Same as {!push} but raise [Invalid_argument] if an error happens. *) end module type Sigs = sig module type S = S val remote_store : (module Store.Generic_key.S with type t = 'a) -> 'a -> Remote.t module Make (X : Store.Generic_key.S) : S with type db = X.t and type commit = X.commit and type info = X.info end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>