- Fix the invalidation of the view caches (report by @gregtatcam).
This was causing some confusing issues where views' sub-keys where
not properly updated to to their new values when the view is merged
back to the store. The issues is a regression introduced in 0.9.0. - Add post-commit hooks for the HTTP server.
- Add
Irmin.watch_tagsto monitor tag creation and desctructions. - Fix
Irmin.push - Add
Irmin.with_hrw_viewto easily use transactions. - Add a phantom type to
Irmin.tto denote the store capabilities
read-only, read-write or branch-consistent. - The
~oldargument of a merge function can now be optional to
signify that there is no common ancestor. - Expose
Irmin.with_rw_viewto create a temporary, in-memory and
mutable view of the store. This can be used to perform atomic
operations in the store (ie. non-persistent transactions). - Simplify the view API again
- Expose the task of previous commits. This let the user access
the Git timestamp and other info such as the committer name (#90) - The user-defined merge functions now takes an
unit -> 'a result Lwt.targument for~old(instead of'a). Evalutating the
function will compute the least-common ancestors. Merge functions
which ignore theoldargument don't have to pay the cost of
computing the lcas anymore. - Expose
S.lcasto get the least common ancestors - Update to ocaml-git 1.4.6