diff --git a/src/bin/repo.rs b/src/bin/repo.rs index 7c01c3247..435d3a398 100644 --- a/src/bin/repo.rs +++ b/src/bin/repo.rs @@ -720,7 +720,13 @@ fn parse_args(args: Vec) -> Result<(CliConfig, CliCommand, Vec PackageName { + // TODO: I hope nobody is nesting same_as... + if let Some(SourceRecipe::SameAs { same_as }) = &self.recipe.source { + if let Some(name) = Path::new(&same_as) + .file_name() + .and_then(|p| p.to_str()) + .and_then(|p| PackageName::new(p).ok()) + { + return name; + } else { + eprintln!( + "canon_recipe_name(): the same_as path for recipe {} is not valid", + self.name.as_str() + ) + } + } + + self.name.clone() + } } // TODO: Wrap these vectors in a struct