Scans the filesystem for files that match the selection paths.
+
The scanner is configured with a root directory. Any number of include
+and exclude paths can be added. The scan() method is a generator that
+returns matching files one at a time when called as an iterator.
+
This is a revisited implementation of the filescanner. It now relies on
+the module pathaddition.match that implements a Ant-like regular expression matcher.
+
Rules:
+- Includes and excludes should not start with *
+- Includes and excludes should not have wildcard searches ending with ** (e.g. wildcard**)
+
Supported includes and excludes:
+- filename.txt
+- filename.*
+- dir/
+- dir/*
+- dir/**
Finds all the subdirectory roots based on the include paths.
+
Often large archive operations define a number of archives from the root
+of the drive. Walking the tree from the root is very time-consuming, so
+selecting more specific subdirectory roots improves performance.