- Fix
Irmin.export
for the HTTP backend (#196, patch from Alex Zatelepin) - Fix a race in
Irmin.export
(#196, patch from Alex Zatelepin) - Add
Task.empty
(the empty task) andTask.none
(the empty task constructor) - Completely rewrite the notification mechanism. All the watch functions now
take a callback as argument and return a de-allocation function. The callbacks
receive a heads values (the last and current ones) and diff values. (#187)- Add
Irmin.watch_head
to watch for the changes of the current branch's head - Add
Irmin.watch_tags
to watch for the changes of all the tags in the store - Add
Irmin.watch_key
to watch for the changes of the values associated to a
given key (this is not recursive anymore). - Add
View.watch_path
to watch for the changes in a subtree. The function
return views and the user can useView.diff
to compute differences between
views if needed.
- Add
- Transfer the HTTP client task to the server to make the commit messages
relative to the client state (and not the server's) (#136) - Fix
View.remove
to clean-up empty directories (#190) - Fix the ordering of tree entries in the Git backend (#190)
- Allow to create a new head from a view and a list of parents with
View.make_head
(#188) - Allow to create an empty temporary branch with
Irmin.empty
(#161) - Use a pure OCaml implementation of SHA1, do not depend on nocrypto anymore
(#183, by @talex5) - Remove
Irmin.Snapshot
. Nobody was using it and it can be easily replaced by
Irmin.head
,Irmin.watch_head
andIrmin.update_head
. - Change signature of
Irmin.iter
to include the values and move it into
theIrmin.RO
signature. - Add
Irmin.fast_forward_head
(#172) - Add
Irmin.compare_and_set_head
(#171) - Simplify the RW_MAKER signature (#158)
- Fix Irmin_git.RW_MAKER (#159)
- Improve the efficiency of the LCA computation (#174, with @talex5 help)
- By default, explore the full graph when computing the LCAs. The previous
behavior was to limit the depth of the exploration to be 256 by default.