Skip to main content

Module apply

Module apply 

Source
Expand description

The direct landing writer: from a computed Projection and the receipt as it stands to the files on disk and the receipt written last.

Every landing renders afresh from this binary and the target at invocation. The writer decides each destination by its recorded kind alone, validates every destination before the first write, holds one target lock through the receipt write, opens the target directory once and writes every file relative to that held directory so a component swapped for a link after validation redirects nothing, and replaces each destination through a same-directory temporary file and a rename. The set is not transactional: a failure names every completed path, leaves the previous receipt, and the rerun lands the rest.

SATISFIES landing:ownership-is-elementary SATISFIES landing:a-partial-landing-is-visible-and-rerunnable SATISFIES landing:a-landing-leaves-a-record

Structs§

Collision
One destination the landing refuses before any write.
Decision
One decided destination.
Held
One target directory held open for a whole landing verb.
Landed
What a landing completed.
Prepared
The landing decided and ready: the projection, every decision in projection order with the released destinations after them, every collision, and the configuration the landing writes first.
Replaced
One conflict the operator named, replaced after its bytes were saved.

Enums§

Action
What the landing does with one destination.
Adoption
What an adoption finds at one candidate’s destination.
Origin
How a landing came to write its receipt.

Constants§

INTERRUPT_VAR
The environment variable the interruption proof sets to the relative destination whose rename is to fail on purpose.
PAUSE_VAR
The environment variable naming a directory the proof pauses through once validation is over and the target is held: validated appears there, and the landing waits for proceed.

Functions§

decide
Decide every destination from the receipt and the disk, collecting every collision rather than stopping at the first.
judge_adoption
Judge one candidate’s destination as an adoption does.
land
Land prepared into target.
licence_refusal
The refusal a licence condition answers, before any write.
name_replacements
Turn every conflict replace names into a replacement, and refuse a name that is no conflict.
prepare
Gather the target’s evidence once, compute the projection, and decide every destination, writing nothing.
previewed_replacements
What a preview reports for the named conflicts: each path, with no saved copy yet.
refusal
The one refusal for every collision, before any write.
release_unavailable
The refusal a selected release automation this release cannot land answers, before any write: silently omitting the declared release would write a record that claims an automation nothing landed.