Exclude dotfiles by default, add --include-dotfiles flag

Changed the default behavior to exclude dotfiles (files/dirs starting with .)
which is the more common use case. Added --include-dotfiles flag for when
hidden files need to be included in the manifest.
This commit is contained in:
2025-12-17 15:10:22 -08:00
parent 6dc496fa9e
commit 0e86562c09
9 changed files with 52 additions and 26 deletions

View File

@@ -42,9 +42,9 @@ type ScanStatus struct {
// Options configures scanner behavior.
type Options struct {
IgnoreDotfiles bool // Skip files and directories starting with a dot
FollowSymLinks bool // Resolve symlinks instead of skipping them
Fs afero.Fs // Filesystem to use, defaults to OsFs if nil
IncludeDotfiles bool // Include files and directories starting with a dot (default: exclude)
FollowSymLinks bool // Resolve symlinks instead of skipping them
Fs afero.Fs // Filesystem to use, defaults to OsFs if nil
}
// FileEntry represents a file that has been enumerated.
@@ -152,7 +152,7 @@ func (s *Scanner) enumerateFS(afs afero.Fs, basePath string, progress chan<- Enu
if err != nil {
return err
}
if s.options.IgnoreDotfiles && pathIsHidden(p) {
if !s.options.IncludeDotfiles && pathIsHidden(p) {
if info.IsDir() {
return filepath.SkipDir
}