- 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_tags
to monitor tag creation and desctructions. - Fix
Irmin.push
- Add
Irmin.with_hrw_view
to easily use transactions. - Add a phantom type to
Irmin.t
to denote the store capabilities
read-only, read-write or branch-consistent. - The
~old
argument of a merge function can now be optional to
signify that there is no common ancestor. - Expose
Irmin.with_rw_view
to 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.t
argument for~old
(instead of'a
). Evalutating the
function will compute the least-common ancestors. Merge functions
which ignore theold
argument don't have to pay the cost of
computing the lcas anymore. - Expose
S.lcas
to get the least common ancestors - Update to ocaml-git 1.4.6