diff options
author | Florian Klink <flokli@flokli.de> | 2024-06-25T16·40+0300 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2024-06-26T04·51+0000 |
commit | 78eb22c54d304715f527fa0e350f8056a3a354cf (patch) | |
tree | 89d227ec0918e567576b67159a99a17a6a679fff /tvix/docs/src/TODO.md | |
parent | 080654aaf9bd2f94d634008afd1dc26c74752eec (diff) |
feat(tvix/glue): handle regular file at builtins.path import r/8305
If builtins.path is passed a regular file, no filtering is applied. We use the just-introduced file_type function in the EvalIO trait for that. This means, we don't need to pass through filtered_ingest, and can assemble the FileNode directly in that specific match case. This also means, we can explicitly calculate the sha256 flat digest, and avoid having to pipe through the file contents again (via blob_to_sha256_hash) to construct the sha256 digest. Change-Id: I500b19dd9e4b7cc897d88b44547e7851559e5a4e Reviewed-on: https://cl.tvl.fyi/c/depot/+/11872 Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: Connor Brewster <cbrewster@hey.com>
Diffstat (limited to 'tvix/docs/src/TODO.md')
-rw-r--r-- | tvix/docs/src/TODO.md | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/tvix/docs/src/TODO.md b/tvix/docs/src/TODO.md index 92d7c4cace81..127fb6f4d0c1 100644 --- a/tvix/docs/src/TODO.md +++ b/tvix/docs/src/TODO.md @@ -127,15 +127,6 @@ Some more fetcher-related builtins need work: - `fetchTree` (hairy, seems there's no proper spec and the URL syntax seems subject to change/underdocumented) -### `builtins.path` roundtrip for flat -`builtins.path` currently uses `filtered_ingest` also for the non-recursive -case, then reads through the blob contents again to get the sha256. - -We should take care of assembling the root node on our own, and pipe the data -through sha256 too (via `InspectReader`, see `glue/fetcher` for an example). - -This avoids some roundtrips, and is probably faster. - ### Derivation -> Build While we have some support for `structuredAttrs` and `fetchClosure` (at least enough to calculate output hashes, aka produce identical ATerm), the code |