feat(tvix/store): enable name customization in the store

Sometimes, Nix lets someone customize the `name` in the store for a
path, this is the case for `builtins.path` which takes a `name`
argument, we leave it to the caller to choose the name, which can be the
basename by default of the path.

Change-Id: Icdbf71d1d8f2dca5716b99d20aac885aab905b80
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10653
Tested-by: BuildkiteCI
Autosubmit: raitobezarius <tvl@lahfa.xyz>
Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
Ryan Lahfa 2024-01-17 08:06:30 +01:00 committed by clbot
parent 4c3ba46ba3
commit 3d8aafb1c7
3 changed files with 19 additions and 15 deletions

View file

@ -305,16 +305,19 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let path_info_service = path_info_service.clone();
async move {
let resp = tvix_store::import::import_path_as_nar_ca(
path,
blob_service,
directory_service,
path_info_service,
)
.await;
if let Ok(output_path) = resp {
// If the import was successful, print the path to stdout.
println!("{}", output_path.to_absolute_path());
if let Ok(name) = tvix_store::import::path_to_name(&path) {
let resp = tvix_store::import::import_path_as_nar_ca(
&path,
name,
blob_service,
directory_service,
path_info_service,
)
.await;
if let Ok(output_path) = resp {
// If the import was successful, print the path to stdout.
println!("{}", output_path.to_absolute_path());
}
}
}
})