Module supporting interface to file-system -- stat, digest, glob. Services: Digest caching & inotify wrapping (as hearts).
module Ocaml_digest : sig ... end
module Digest = Db.Digest
module Kind = Db.Kind
module Glob : sig ... end
module Listing = Db.Listing
val create : Config.t ‑> Persist.t ‑> t Async.Deferred.t
module Contents_result : sig ... end
module Digest_result : sig ... end
module Listing_result : sig ... end
val contents_file : t ‑> file:Path.t ‑> Contents_result.t Tenacious.t
val digest_file : t ‑> file:Path.t ‑> Digest_result.t Tenacious.t
val list_glob : t ‑> Glob.t ‑> Listing_result.t Core.Or_error.t Tenacious.t
val ensure_directory : t ‑> mkdir_root:Path.Rel.t option ‑> dir:Path.Rel.t ‑> unit Core.Or_error.t Tenacious.t
This function either checks the directory exists if mkdir_root
is None, or creates
all the directories between mkdir_root
and dir
(mkdir_root
must be a non-strict
ancestor of dir
).
val lock_targets_and_mask_updates : t ‑> targets:Path.Rel.t list ‑> (unit ‑> 'a Async.Deferred.t) ‑> 'a Async.Deferred.t
Locks targets
for writing and masks the corresponding 'file changed' messages
module Mtime : sig ... end
val mtime_file : t ‑> file:Path.t ‑> Mtime.t option Tenacious.t
val mtime_files_right_now : Path.t list ‑> ((Path.t * Mtime.t) list, string) Core.Result.t Async.Deferred.t