Make.BatchThe batch API is used to have better control of when data is sent between the client and server when manipulating trees.
module Request_tree : Irmin_server.Tree.Stype store = ttype t =
(path
* [ `Contents of [ `Hash of hash | `Value of contents ] * metadata option
| `Tree of Request_tree.t
| `Remove ])
listA batch is list of updates and their associated paths
val v : unit -> tval () creates a new batch
add_value path ~metadata value batch will add value at path with associated metadata when batch is apply'd
add_hash path ~metadata hash batch will add hash at path with associated metadata when batch is apply'd
add_tree path batch will add tree at path when batch is apply'd
Note: if tree has been modified locally, calls to the server may be made.
val apply : info:Info.f -> ?path:path -> store -> t -> commit_key Lwt.tapply ~info ~path store batch applies batch to the subtree at path (defaults to the root) in store. The key of the commit is returned.