fix: put skipping broken symlink logic in Ignore not SymWalk

pull/13293/head
ronantakizawa 1 year ago
parent 85d79714bf
commit 94924f1ea5

@ -100,6 +100,16 @@ func (r *Rules) Ignore(path string, fi os.FileInfo) bool {
if path == "." || path == "./" { if path == "." || path == "./" {
return false return false
} }
// Handle broken symlinks
if fi.Mode()&os.ModeSymlink != 0 {
_, err := filepath.EvalSymlinks(path)
if err != nil {
log.Printf("Skipping broken symlink: %s", path)
return true // Treat broken symlink as ignored
}
}
for _, p := range r.patterns { for _, p := range r.patterns {
if p.match == nil { if p.match == nil {
log.Printf("ignore: no matcher supplied for %q", p.raw) log.Printf("ignore: no matcher supplied for %q", p.raw)
@ -127,6 +137,7 @@ func (r *Rules) Ignore(path string, fi os.FileInfo) bool {
return true return true
} }
} }
return false return false
} }

Loading…
Cancel
Save