aboutsummaryrefslogtreecommitdiff
path: root/doc/manual
diff options
context:
space:
mode:
authorValentin Gagarin <valentin.gagarin@tweag.io>2022-04-29 02:10:24 +0200
committerValentin Gagarin <valentin.gagarin@tweag.io>2022-08-04 12:37:47 +0200
commitb5ca3d12b6f3414302363c8ae362334c020448c7 (patch)
tree2eb08abb09e0e4c3e7f8517a6d85c22c04bb0950 /doc/manual
parente90586c0a40cf59df9d39407dcc49d5944a8b853 (diff)
reword details on keeping closure property
Diffstat (limited to 'doc/manual')
-rw-r--r--doc/manual/src/architecture/store/objects.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/doc/manual/src/architecture/store/objects.md b/doc/manual/src/architecture/store/objects.md
index 30683d22d..f7587e112 100644
--- a/doc/manual/src/architecture/store/objects.md
+++ b/doc/manual/src/architecture/store/objects.md
@@ -43,12 +43,12 @@ Nix stores have the *closure property*: for each store object in the store, all
Building, copying and deleting store objects must be done in a way that obeys this property:
-- We can only safely delete unreferenced objects.
+- Build results must only refer to store objects in the closure of the build inputs.
-- When copying, to maintain correctness, either the result must be "revealed" atomically to the destination store, or objects must be copied in reference-dependency order.
+- Store objects being copied must refer to objects already in the destination store.
+ Recursive copying must either proceed in dependency order or be atomic.
-- Newly built store objects must only refer to store objects in the closure of the build inputs.
- This ensures the purity of the build.
+- We can only safely delete unreferenced objects.
### Reference scanning