Organisationsmirageirminpull/2405Build History

Build History for pull/2405

Builds (6)
irmin-lwt: include Irmin.Branch.S in S.Branch Mirror the Irmin 3.11 [S.Branch] signature, which terminates with [include Branch.S with type t = branch] to expose [val main], [val is_valid], and [val t : t Irmin.Type.t] alongside the I/O functions. Without this, [Store.Branch.main] is unreachable through [Irmin_lwt.S.Branch].
ec7be0
irmin-lwt: expose Make's output as a named module type S Extract the Lwt-flavoured signature produced by [Make] into a top-level [module type S] and have [Make] return a module conforming to it with explicit type and module equalities. This is the architectural piece needed by Tezos' [Tezos_context_helpers.Context.DB]: module type DB = Irmin.Generic_key.S with module Schema = Schema stops type-checking against [Irmin_lwt.Make(S)]'s result because the latter's [Repo.v] returns [t Lwt.t] instead of [t]. With this change, downstream consumers can now write module type DB = Irmin_lwt.S with module Schema = Schema and type contents = value and ... and pass an [Irmin_lwt.Make(_)] module as [DB]. The [module type S] body is mirrored between [.ml] and [.mli] (both are required — OCaml demands the module type declaration in both); the rest of the implementation is unchanged. Tree's lazy [Contents] submodule is re-exposed, and the store-level [Contents] is wrapped with Lwt-returning [of_key]/[of_hash] to match the signature. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
260e64
irmin-lwt: expose the remaining Repo submodule surface Extend [Irmin_lwt.Make(S).Repo] to cover the rest of [S.Repo]: - [type elt] and [elt_t]: the topological element variant (Commit, Node, Contents, Branch) and its [Irmin.Type.t] descriptor. Exposed as a concrete polymorphic variant so callers can pattern-match on it. - [default_pred_commit], [default_pred_node], [default_pred_contents]: pure forwarding (no I/O). - [import]: Lwt-wrapped. - [iter] and [breadth_first_traversal]: Lwt-wrapped; each of the 13 optional callbacks (edge/branch/commit/node/contents/skip_*/pred_*) is accepted as Lwt-returning (matching Irmin 3) and bridged to the direct-style call expected by the underlying Irmin 4 traversal via [Lwt_eio.Promise.await_lwt]. Closes the 8 Repo-level items flagged by the second Octez compilation pass. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2b2130
irmin-lwt: add type 'a merge, fix merge_into arity, and extend Irmin.remote Three related completions of [Irmin.Generic_key.S] surface: - Expose [type 'a merge] as the Lwt-wrapped abbreviation used by [merge_into], [merge_with_branch] and [merge_with_commit]. Downstream consumers may reference the alias directly. - Fix [merge_into]: the previous signature was missing the [?max_depth] and [?n] optional parameters carried by [t merge]. Now properly [into:t -> t merge]. - Extend the top-level [Irmin.remote] with [E of Backend.Remote.endpoint], matching the extension that the underlying [S] exposes. This allows downstream code that matches on the extensible variant to see the endpoint carried by a remote produced through [Irmin_lwt.Make(S)]. Reported missing by the Octez compilation test. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
98c04f
irmin-lwt: add Pack.Make functor for irmin-pack-unix-specific operations Introduce a [Irmin_lwt.Pack.Make] functor that takes an [Irmin_pack_io.S] store and returns a module that includes the full [Make(S)] Lwt-wrapped generic-key API plus the pack-unix extensions: - integrity checks: [integrity_check], [integrity_check_inodes], [traverse_pack_file], [test_traverse_pack_file] - chunking: [split], [is_split_allowed], [add_volume] - on-disk: [reload], [flush], [create_one_commit_store] - [Gc]: [start_exn], [finalise_exn], [run] (with Lwt-returning [finished] callback), [wait], [cancel], [is_finished], [behaviour], [is_allowed], [latest_gc_target] - [Snapshot]: re-export with Lwt-wrapped [export] Adds [irmin-pack.io] as a library dependency and [irmin-pack] as an opam dependency. Addresses gaps 5-10 of the Octez compilation test: consumers that need pack-unix operations (Tezos context GC, snapshot export, etc.) can now apply [Irmin_lwt.Pack.Make] on their pack-unix store instead of reaching into [Irmin_pack_io] directly via [Lwt_eio.run_eio]. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ccc741
doc: update migration guide for expanded irmin-lwt scope Now that [Tree], [Commit], [Branch], [Head] and the top-level watches are wrapped, rewrite the "Scope" section to reflect the actual coverage. Keep the escape hatch (call [Lwt_eio.run_eio] directly) documented for the few helpers that are still not wrapped (the [Sync] functor, a few rarely-used [Repo] helpers). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
c7b32e