I changed the job config to exclude a sub-tree from fs triggers search while a strace -f 2>&1 | grep open was running on the jenkins process
I saw that it was
1. calling open|DIR on every file in the tree,
2. calling open|DIR even on files I had told it not to look at.
FS trigger checked
include "*/.c */.h"
excludes "understand/** */obj/*"
every time I save the configuration it attempts the open on the bizillion supposedly excluded files
in understand/udb_html/* and those in /obj/.o when it should not have looked at a single file in those sub-trees.
as well as hundreds of non-included files (*/.project, etc)
I think that whatever fileset like thing is under the hood of fstrigger is mis-used or poorly implemented
1. not look for sub-dirs in excluded patterns
2. not assume everything is a dir to be searched inside of
Its almost as if its applying the include filter first, then reducing the results after the fact instead of applying the exclude filter as it considers each filesystem entry in the path.