mirror of
https://github.com/watchexec/watchexec.git
synced 2024-09-29 22:51:33 +02:00
Merge pull request #189 from mwu-tow/git-root-lookup
Fix lookup of the root git directory
This commit is contained in:
commit
3c26e3987c
@ -46,7 +46,7 @@ pub fn load(paths: &[PathBuf]) -> Gitignore {
|
|||||||
|
|
||||||
for path in paths {
|
for path in paths {
|
||||||
let mut top_level_git_dir = None;
|
let mut top_level_git_dir = None;
|
||||||
let mut p = Some(path.clone()); // FIXME: cow
|
let mut p = Some(path.as_path());
|
||||||
|
|
||||||
while let Some(ref current) = p {
|
while let Some(ref current) = p {
|
||||||
debug!("Looking in {:?} for a .git directory", current);
|
debug!("Looking in {:?} for a .git directory", current);
|
||||||
@ -54,15 +54,16 @@ pub fn load(paths: &[PathBuf]) -> Gitignore {
|
|||||||
// Stop if we see a .git directory
|
// Stop if we see a .git directory
|
||||||
if let Ok(metadata) = current.join(".git").metadata() {
|
if let Ok(metadata) = current.join(".git").metadata() {
|
||||||
if metadata.is_dir() {
|
if metadata.is_dir() {
|
||||||
top_level_git_dir = Some(path);
|
top_level_git_dir = Some(*current);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p = current.parent().map(ToOwned::to_owned);
|
p = current.parent();
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(root) = top_level_git_dir {
|
if let Some(root) = top_level_git_dir {
|
||||||
|
debug!("Found the top level git directory: {:?}", root);
|
||||||
// scan in subdirectories
|
// scan in subdirectories
|
||||||
for entry in WalkDir::new(root)
|
for entry in WalkDir::new(root)
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
Loading…
Reference in New Issue
Block a user