better concurrency properties
Pre-release
Pre-release
- Ensure that
Irmin.updateandIrmin.mergeare atomic. - Fix
Irmin.cloneof an empty branch - Add
Irmin.RW.compare_and_testthat the backends now have to implement
to guarantee atomicity of Irmin's high-level operations. - Add
Irmin.Private.Lockto provide per-handler, per-key locking. This
can be used by backend to implement simple locking policies. - Add
Lwt.tto the return type ofIrmin.tagandIrmin.tag_exn - Do not throw [Not_found]. Now all the
_exnfunction raiseInvalid_argument
(#144) - Remove
Irmin.switchandIrmin.detach - Add
Irmin.historyto get the branch history as a DAG of heads (#140). - Fix the computation of lcas (#160)