forked from lix-project/lix
Merge pull request #3657 from obsidiansystems/sligthly-improve-store-path-documentation
Clarify the description of StorePath inputs
This commit is contained in:
commit
ccbea8255c
|
@ -61,7 +61,7 @@ StorePathWithOutputs Store::followLinksToStorePathWithOutputs(std::string_view p
|
||||||
|
|
||||||
/* Store paths have the following form:
|
/* Store paths have the following form:
|
||||||
|
|
||||||
<store>/<h>-<name>
|
<realized-path> = <store>/<h>-<name>
|
||||||
|
|
||||||
where
|
where
|
||||||
|
|
||||||
|
@ -85,11 +85,14 @@ StorePathWithOutputs Store::followLinksToStorePathWithOutputs(std::string_view p
|
||||||
<type> = one of:
|
<type> = one of:
|
||||||
"text:<r1>:<r2>:...<rN>"
|
"text:<r1>:<r2>:...<rN>"
|
||||||
for plain text files written to the store using
|
for plain text files written to the store using
|
||||||
addTextToStore(); <r1> ... <rN> are the references of the
|
addTextToStore(); <r1> ... <rN> are the store paths referenced
|
||||||
path.
|
by this path, in the form described by <realized-path>
|
||||||
"source"
|
"source:<r1>:<r2>:...:<rN>:self"
|
||||||
for paths copied to the store using addToStore() when recursive
|
for paths copied to the store using addToStore() when recursive
|
||||||
= true and hashAlgo = "sha256"
|
= true and hashAlgo = "sha256". Just like in the text case, we
|
||||||
|
can have the store paths referenced by the path.
|
||||||
|
Additionally, we can have an optional :self label to denote self
|
||||||
|
reference.
|
||||||
"output:<id>"
|
"output:<id>"
|
||||||
for either the outputs created by derivations, OR paths copied
|
for either the outputs created by derivations, OR paths copied
|
||||||
to the store using addToStore() with recursive != true or
|
to the store using addToStore() with recursive != true or
|
||||||
|
@ -117,6 +120,12 @@ StorePathWithOutputs Store::followLinksToStorePathWithOutputs(std::string_view p
|
||||||
the contents of the path (or expected contents of the
|
the contents of the path (or expected contents of the
|
||||||
path for fixed-output derivations)
|
path for fixed-output derivations)
|
||||||
|
|
||||||
|
Note that since an output derivation has always type output, while
|
||||||
|
something added by addToStore can have type output or source depending
|
||||||
|
on the hash, this means that the same input can be hashed differently
|
||||||
|
if added to the store via addToStore or via a derivation, in the sha256
|
||||||
|
recursive case.
|
||||||
|
|
||||||
It would have been nicer to handle fixed-output derivations under
|
It would have been nicer to handle fixed-output derivations under
|
||||||
"source", e.g. have something like "source:<rec><algo>", but we're
|
"source", e.g. have something like "source:<rec><algo>", but we're
|
||||||
stuck with this for now...
|
stuck with this for now...
|
||||||
|
|
Loading…
Reference in a new issue