diff options
author | Florian Klink <flokli@flokli.de> | 2024-10-15T23·05+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-10-16T19·29+0000 |
commit | b4b2ae1cc618368381eb4454f966d68f33345765 (patch) | |
tree | 6a1d14acd0d735f2b6866cb01f5b87fed4efa546 /users | |
parent | 7e78ebe796c2bb8b5cad09ac8819e091df87e19b (diff) |
refactor(tvix/glue): merge builtins.{filterSource,path} codepaths r/8815
This moves the implementation from builtins.path into a helper function, which we now call from both builtins. Most of the Value plumbing stays inside this helper. We also implemented handling of symlinks at the root, which was handled in builtins.filterSource, but not builtins.path - by peeking at the FileType using std::fs::metadata, instead of the EvalIO trait. For now, this is fine, as our filtered_ingest also goes via the filesystem directly. It ends up with the same semantics as before and in Nix - symlinks at the root are followed, except if they point to an invalid target. In the future, we should revisit this, and then maybe get both stat and lstat into EvalIO, though we will need to be very careful about the semantics for following symlink inside store paths. Change-Id: I6a941c0187db36165c2f7a338015e4e32d41b298 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12629 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Diffstat (limited to 'users')
0 files changed, 0 insertions, 0 deletions