diff --git a/src/tarballer.rs b/src/tarballer.rs index a1193d4..a839847 100644 --- a/src/tarballer.rs +++ b/src/tarballer.rs @@ -63,7 +63,12 @@ impl Tarballer { } for path in files { let src = Path::new(&self.work_dir).join(&path); - let src = src.canonicalize().unwrap_or_else(|_| src.to_owned()); + let src = src + .parent() + .unwrap() + .canonicalize() + .map(|path| path.join(src.file_name().unwrap())) + .unwrap_or_else(|_| src.to_owned()); append_path(&mut builder, &src, &path) .with_context(|| format!("failed to tar file '{}'", src.display()))?; }