package opam-core

  1. Overview
  2. Docs
type digest

uniquely identifies a filesystem item value

type change =
  1. | Added of digest
  2. | Removed
  3. | Contents_changed of digest
    (*

    For links, corresponds to a change of target

    *)
  4. | Perm_changed of digest
  5. | Kind_changed of digest
    (*

    Used e.g. when a file is replaced by a directory, a link or a fifo

    *)

Defines a change concerning a fs item; The digest parameter is the new value of the item

val to_string : t -> string

Returns a printable, multi-line string

val digest_of_string : string -> digest
val string_of_digest : digest -> string
val track : OpamFilename.Dir.t -> ?except:OpamFilename.Base.Set.t -> (unit -> 'a OpamProcess.job) -> ('a * t) OpamProcess.job

Wraps a job to track the changes that happened under dirname during its execution (changes done by the application of the job function to () are tracked too, for consistency with jobs without commands)

val revert : ?title:string -> ?verbose:bool -> ?force:bool -> ?dryrun:bool -> OpamFilename.Dir.t -> t -> unit

Removes the added and kind-changed items unless their contents changed and force isn't set, and prints warnings for other changes unless verbose is set to false. Ignores non-existing files. title is used to prefix messages if specified.

val check : OpamFilename.Dir.t -> t -> (OpamFilename.t * [ `Unchanged | `Removed | `Changed ]) list

Checks the items that were added or kind-changed in the given diff, and returns their status