feat(tvix/nix-compat): have StorePath accept bytes
The primary constructor for this is now from_bytes, from_string is simply calling .as_bytes() on the string, passing it along. The InvalidName error now contains a Vec<u8>, to encode the invalid name (which might not be a string anymore). from_absolute_path now accepts a &[u8] (even though we might want to make this a OSString of some sort). StorePath::validate_name has been degraded to a pub(crate) function. It's still used in src/derivation, even though it probably shouldn't at all - that cleanup is left for cl/8412 though. Change-Id: I6b4e62a6fa5c4bec13b535279e73444f0b83ad35 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8973 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
This commit is contained in:
parent
5364fcb127
commit
42dc18353d
8 changed files with 84 additions and 68 deletions
|
|
@ -145,7 +145,7 @@ fn build_store_path_from_fingerprint_parts(
|
|||
hasher.finalize()
|
||||
};
|
||||
let compressed = compress_hash::<20>(&digest);
|
||||
StorePath::validate_name(name)?;
|
||||
super::validate_name(name.as_bytes())?;
|
||||
Ok(StorePath {
|
||||
digest: compressed,
|
||||
name: name.to_string(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue