diff --git a/addlicense/main.go b/addlicense/main.go index fe7cf93..e082bb1 100644 --- a/addlicense/main.go +++ b/addlicense/main.go @@ -307,6 +307,10 @@ func walk(ch chan<- *file, start string, logger *log.Logger) error { return nil } if fi.IsDir() { + if path != start && FileMatches(path, ignorePatterns) { + logger.Printf("[DEBUG] skipping directory: %s", path) + return filepath.SkipDir + } return nil } // Skip symlinks — broken symlinks cause os.ReadFile to fail with diff --git a/cmd/headers.go b/cmd/headers.go index eb0bf67..abe394d 100644 --- a/cmd/headers.go +++ b/cmd/headers.go @@ -259,7 +259,13 @@ func updateExistingHeaders(cmd *cobra.Command, ignoredPatterns []string, dryRun return nil } - if err != nil || d.IsDir() { + if err != nil { + return nil + } + if d.IsDir() { + if path != "." && addlicense.FileMatches(path, ignoredPatterns) { + return filepath.SkipDir + } return nil }