diff --git a/tvix/castore/src/import/archive.rs b/tvix/castore/src/import/archive.rs index 0d21481d4..0ebb4a236 100644 --- a/tvix/castore/src/import/archive.rs +++ b/tvix/castore/src/import/archive.rs @@ -288,12 +288,12 @@ impl IngestionEntryGraph { None => self.graph.add_node(entry), }; - // A path with 1 component is the root node + // for archives, a path with 1 component is the root node if path.components().count() == 1 { // We expect archives to contain a single root node, if there is another root node // entry with a different path name, this is unsupported. if let Some(root_node) = self.root_node { - if self.get_node(root_node).path() != &path { + if self.get_node(root_node).path() != path.as_ref() { return Err(Error::UnexpectedNumberOfTopLevelEntries); } } diff --git a/tvix/castore/src/import/mod.rs b/tvix/castore/src/import/mod.rs index 7b42644a2..6c69d04f3 100644 --- a/tvix/castore/src/import/mod.rs +++ b/tvix/castore/src/import/mod.rs @@ -13,6 +13,7 @@ use crate::proto::DirectoryNode; use crate::proto::FileNode; use crate::proto::SymlinkNode; use crate::B3Digest; +use crate::Path; use futures::{Stream, StreamExt}; use tracing::Level; @@ -183,7 +184,7 @@ pub enum IngestionEntry { } impl IngestionEntry { - fn path(&self) -> &PathBuf { + fn path(&self) -> &Path { match self { IngestionEntry::Regular { path, .. } => path, IngestionEntry::Symlink { path, .. } => path,