(is_not_found_err, || Ok(None))?;
+ let parent = path
+ .parent()
+ .ok_or_else(|| error::Directory::InvalidPath(path.to_string_lossy().to_string()))?;
Ok(entry
- .and_then(|entry| Entry::from_entry(&entry, path.as_ref().to_path_buf()).transpose())
+ .and_then(|entry| Entry::from_entry(&entry, parent.to_path_buf()).transpose())
.transpose()
.unwrap())
}
@@ -396,13 +425,13 @@ impl Directory {
/// Find the `Directory` found at `path`, if it exists.
pub fn find_directory(
&self,
- path: P,
+ path: &P,
repo: &Repository,
) -> Result